Improve system calls

- Wrap clock_getres()
- Wrap sched_setscheduler()
- Make sleep() api conformant
- Polyfill sleep() using select()
- Improve clock_gettime() polyfill
- Make nanosleep() POSIX conformant
- Slightly improve some DNS functions
- Further strengthen pledge() sandboxing
- Improve rounding of timeval / timespec
- Allow layering of pledge() calls on Linux
- Polyfill sched_yield() using select() on XNU
- Delete more system constants we probably don't need
This commit is contained in:
Justine Tunney 2022-07-08 06:29:24 -07:00
parent 5df3e4e7a8
commit 853b6c3864
330 changed files with 1971 additions and 1223 deletions

View file

@ -2,17 +2,20 @@
#define COSMOPOLITAN_LIBC_SYSV_CONSTS_SCHED_H_
#include "libc/runtime/symbolic.h"
#define SCHED_BATCH SYMBOLIC(SCHED_BATCH)
#define SCHED_FIFO SYMBOLIC(SCHED_FIFO)
#define SCHED_IDLE SYMBOLIC(SCHED_IDLE)
#define SCHED_OTHER SYMBOLIC(SCHED_OTHER)
#define SCHED_BATCH SYMBOLIC(SCHED_BATCH)
#define SCHED_DEADLINE SYMBOLIC(SCHED_DEADLINE)
#define SCHED_FIFO SYMBOLIC(SCHED_FIFO)
#define SCHED_IDLE SYMBOLIC(SCHED_IDLE)
#define SCHED_NORMAL SCHED_OTHER
#define SCHED_OTHER SYMBOLIC(SCHED_OTHER)
#define SCHED_RESET_ON_FORK SYMBOLIC(SCHED_RESET_ON_FORK)
#define SCHED_RR SYMBOLIC(SCHED_RR)
#define SCHED_RR SYMBOLIC(SCHED_RR)
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
extern const long SCHED_BATCH;
extern const long SCHED_DEADLINE;
extern const long SCHED_FIFO;
extern const long SCHED_IDLE;
extern const long SCHED_OTHER;