cosmopolitan/libc/thread/itimer.internal.h
Justine Tunney fa20edc44d
Reduce header complexity
- Remove most __ASSEMBLER__ __LINKER__ ifdefs
- Rename libc/intrin/bits.h to libc/serialize.h
- Block pthread cancelation in fchmodat() polyfill
- Remove `clang-format off` statements in third_party
2023-11-28 14:39:42 -08:00

23 lines
479 B
C

#ifndef COSMOPOLITAN_LIBC_ITIMER_H_
#define COSMOPOLITAN_LIBC_ITIMER_H_
#include "libc/atomic.h"
#include "libc/calls/struct/itimerval.h"
#include "third_party/nsync/cv.h"
#include "third_party/nsync/mu.h"
COSMOPOLITAN_C_START_
struct IntervalTimer {
atomic_uint once;
intptr_t thread;
nsync_mu lock;
nsync_cv cond;
struct itimerval it;
};
extern struct IntervalTimer __itimer;
void __itimer_wipe(void);
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_LIBC_ITIMER_H_ */