mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 06:48:31 +00:00
Fix bugs and make improvements
- Fix regression with `%lu` - Added some more headers witnessed in the wild - Added `-M INT` option to redbean to tune max payload size - Work around InfoZIP 256 character limit on comment line size
This commit is contained in:
parent
3aa8983ec1
commit
1966369e8e
17 changed files with 574 additions and 415 deletions
43
examples/hertz.c
Normal file
43
examples/hertz.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
#if 0
|
||||
/*─────────────────────────────────────────────────────────────────╗
|
||||
│ To the extent possible under law, Justine Tunney has waived │
|
||||
│ all copyright and related or neighboring rights to this file, │
|
||||
│ as it is written in the following disclaimers: │
|
||||
│ • http://unlicense.org/ │
|
||||
│ • http://creativecommons.org/publicdomain/zero/1.0/ │
|
||||
╚─────────────────────────────────────────────────────────────────*/
|
||||
#endif
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/struct/itimerval.h"
|
||||
#include "libc/errno.h"
|
||||
#include "libc/log/check.h"
|
||||
#include "libc/stdio/stdio.h"
|
||||
#include "libc/sysv/consts/itimer.h"
|
||||
#include "libc/sysv/consts/sig.h"
|
||||
#include "libc/time/time.h"
|
||||
#include "libc/x/x.h"
|
||||
|
||||
const struct itimerval kHertz = {
|
||||
{1, 0},
|
||||
{0, 1},
|
||||
};
|
||||
|
||||
bool hertz;
|
||||
|
||||
void OnAlrm(void) {
|
||||
hertz = true;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
CHECK_NE(-1, xsigaction(SIGALRM, OnAlrm, 0, 0, 0));
|
||||
CHECK_NE(-1, setitimer(ITIMER_REAL, &kHertz, NULL));
|
||||
for (;;) {
|
||||
CHECK_EQ(-1, pause());
|
||||
CHECK_EQ(EINTR, errno);
|
||||
if (hertz) {
|
||||
hertz = false;
|
||||
printf("ding\n");
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue