mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 19:43:32 +00:00
3f0bcdc3ef
- Exhaustively document cancellation points - Rename SIGCANCEL to SIGTHR just like BSDs - Further improve POSIX thread cancellations - Ensure asynchronous cancellations work correctly - Elevate the quality of getrandom() and getentropy() - Make futexes cancel correctly on OpenBSD 6.x and 7.x - Add reboot.com and shutdown.com to examples directory - Remove underscore prefix from awesome timespec_*() APIs - Create assertions that help verify our cancellation points - Remove bad timespec APIs (cmp generalizes eq/ne/gt/gte/lt/lte)
22 lines
683 B
C
22 lines
683 B
C
#ifndef COSMOPOLITAN_LIBC_CALLS_BLOCKCANCEL_H_
|
|
#define COSMOPOLITAN_LIBC_CALLS_BLOCKCANCEL_H_
|
|
#include "libc/thread/thread.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
#define BLOCK_CANCELLATIONS \
|
|
do { \
|
|
int _CancelState; \
|
|
_CancelState = _pthread_block_cancellations()
|
|
|
|
#define ALLOW_CANCELLATIONS \
|
|
_pthread_allow_cancellations(_CancelState); \
|
|
} \
|
|
while (0)
|
|
|
|
int _pthread_block_cancellations(void);
|
|
void _pthread_allow_cancellations(int);
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_CALLS_BLOCKCANCEL_H_ */
|