cosmopolitan/libc/calls
Justine Tunney 60cb435cb4
Implement pthread_atfork()
If threads are being used, then fork() will now acquire and release and
runtime locks so that fork() may be safely used from threads. This also
makes vfork() thread safe, because pthread mutexes will do nothing when
the process is a child of vfork(). More torture tests have been written
to confirm this all works like a charm. Additionally:

- Invent hexpcpy() api
- Rename nsync_malloc_() to kmalloc()
- Complete posix named semaphore implementation
- Make pthread_create() asynchronous signal safe
- Add rm, rmdir, and touch to command interpreter builtins
- Invent sigisprecious() and modify sigset functions to use it
- Add unit tests for posix_spawn() attributes and fix its bugs

One unresolved problem is the reclaiming of *NSYNC waiter memory in the
forked child processes, within apps which have threads waiting on locks
2022-10-16 12:25:13 -07:00
..
struct Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
typedef Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
__clock_gettime.S Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
__gettimeofday.S Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
__sig.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
__sig2.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
__sig_mask.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
__sig_pending.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
_ptsname.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
_timespec_add.c Import OpenBSD sorting algorithms 2022-09-06 17:52:26 -07:00
_timespec_cmp.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timespec_eq.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_frommicros.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_frommillis.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_fromnanos.c Improve quality of our ANSI C clock() function 2022-09-05 23:03:49 -07:00
_timespec_get.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_getres.c Import OpenBSD sorting algorithms 2022-09-06 17:52:26 -07:00
_timespec_gt.c Add pthread attributes and other libc functions 2022-09-07 05:28:32 -07:00
_timespec_gte.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_mono.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_real.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_sleep.c Clean up some sleep code 2022-10-08 03:00:48 -07:00
_timespec_sleep_until.c Clean up some sleep code 2022-10-08 03:00:48 -07:00
_timespec_sub.c Use *NSYNC for POSIX threads locking APIs 2022-09-11 11:04:50 -07:00
_timespec_tomicros.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_tomillis.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_tonanos.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timespec_totimeval.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
_timeval_add.c Improve quality of our ANSI C clock() function 2022-09-05 23:03:49 -07:00
_timeval_cmp.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timeval_eq.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timeval_gt.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timeval_gte.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timeval_sub.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
_timeval_totimespec.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
access.c Improve system call documentation 2022-10-02 09:15:46 -07:00
addrusage.c Improve system calls 2022-07-08 06:42:03 -07:00
alarm.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
asan.internal.h Improve docs of more system calls 2022-10-02 22:14:33 -07:00
calls.h Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
calls.mk Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
cfgetispeed.c Make whitespace changes 2021-08-13 03:20:45 -07:00
cfgetospeed.c Make whitespace changes 2021-08-13 03:20:45 -07:00
cfmakeraw.c Undiamond Python headers 2021-08-12 14:07:40 -07:00
cfsetispeed.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
cfsetospeed.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
chdir-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
chdir.c Rewrite IPv4 Turf War backend 2022-10-03 08:23:54 -07:00
chmod.c Make numerous improvements 2021-09-28 01:52:34 -07:00
chown.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
chroot.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
clock.c Improve quality of our ANSI C clock() function 2022-09-05 23:03:49 -07:00
clock_getres.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
clock_gettime-mono.c Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
clock_gettime-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
clock_gettime-xnu.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
clock_gettime.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
clock_gettime.internal.h Improve system calls 2022-07-08 06:42:03 -07:00
clock_nanosleep-nt.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
clock_nanosleep-openbsd.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
clock_nanosleep-xnu.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
clock_nanosleep.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
close-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
close.c Improve system call documentation 2022-10-02 09:15:46 -07:00
close_range.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
closefrom.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
commandv.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
copy_file_range.c Improve system call documentation 2022-10-02 09:15:46 -07:00
copyfile.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
copyfile.h Pay off more technical debt 2022-09-12 23:36:56 -07:00
CPU_AND.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_COUNT.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_EQUAL.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_OR.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_XOR.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
CPU_ZERO.c Make more compatibility improvements 2022-09-06 07:04:13 -07:00
creat.c Improve system call documentation 2022-10-02 09:15:46 -07:00
createfileflags.c Improve synchronization 2022-04-15 15:31:55 -07:00
createpipename.c Improve synchronization 2022-04-15 15:31:55 -07:00
diagnose_syscall.S Perform more low-level code cleanup 2022-09-09 04:07:08 -07:00
dprintf.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dprintf.h Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dtime.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
dup-nt.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
dup.c Improve system call documentation 2022-10-02 09:15:46 -07:00
dup2.c Improve system call documentation 2022-10-02 09:15:46 -07:00
dup3-sysv.c Make important improvements 2022-09-14 22:39:08 -07:00
dup3.c Improve system call documentation 2022-10-02 09:15:46 -07:00
eaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
euidaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
execl.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execle.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execlp.c Make improvements 2022-04-28 09:57:07 -07:00
execv.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execve-nt.greg.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
execve-sysv.c Clean up some code 2022-08-20 12:32:51 -07:00
execve.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
execvp.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execvpe.c Make improvements 2022-04-28 09:57:07 -07:00
faccessat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
faccessat.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
fadvise-nt.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
fadvise.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
fadvise64.S Add pthread attributes and other libc functions 2022-09-07 05:28:32 -07:00
fchdir-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
fchdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmod.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat.c Improve system call documentation 2022-10-02 09:15:46 -07:00
fchown.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fchownat.c Improve system call documentation 2022-10-02 09:15:46 -07:00
fcntl-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
fcntl-sysv.c Make important improvements 2022-09-14 22:39:08 -07:00
fcntl.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
fdatasync-nt.c Improve synchronization 2022-04-15 15:31:55 -07:00
fdatasync.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
fexecve.c Add fexecve() and map O_EXEC to O_PATH on Linux 2022-10-02 09:15:46 -07:00
fileexists.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fixenotdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fixupnewfd.c Make important improvements 2022-09-14 22:39:08 -07:00
flock-nt.c Make important improvements 2022-09-14 22:39:08 -07:00
flock.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fmodl.S Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
fstat-metal.c Make numerous improvements 2021-09-28 01:52:34 -07:00
fstat-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstat-sysv.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
fstat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstat64.S Add more foo64() functions for Rust 2022-09-07 05:48:57 -07:00
fstatat-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
fstatat-sysv.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
fstatat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstatat64.S Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
fstatfs-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstatfs.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
fstatvfs.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
fsync.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
ftok.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
ftruncate-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
ftruncate.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
ftruncate64.S Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
futimens.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
futimes.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
g_sighandrvas.c Put finishing touches on turfwar http server 2022-10-03 21:50:00 -07:00
getauxval.c Remove malloc() dependency on pledge() / unveil() 2022-07-24 21:51:37 -07:00
getconsolectrlevent.internal.h Improve locks and signals 2022-04-12 05:20:17 -07:00
getcontext.S Perform more low-level code cleanup 2022-09-09 04:07:08 -07:00
getcpucount.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
getcwd-nt.greg.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getcwd-xnu.greg.c Refactor some code 2022-05-28 14:09:21 -07:00
getcwd.greg.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
getdomainname-linux.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
getdomainname.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getdtablesize.c Add imaxdiv, wcscoll, getdtablesize (#639) 2022-10-05 07:14:58 -07:00
getegid.c Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
geteuid.c Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
getfiledescriptorsize.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getgroups.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
gethostname-bsd.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
gethostname-linux.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
gethostname-nt.c Improve quality of uname/gethostname/getdomainname 2022-09-03 20:20:40 -07:00
gethostname.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getitimer.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getloadavg-nt.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
getloadavg.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
getntsyspath.S Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
getpgid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getpgrp.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getppid-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getppid.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
getpriority-nt.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
getpriority.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
getprocaddressmodule.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getprogramexecutablename.greg.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
getresgid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getresuid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getrlimit.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getrusage-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
getrusage-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
getrusage.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getsid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
gettemppatha-flunk.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
gettimeofday-metal.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday-nt.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday-xnu.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
gettimeofday.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
getttysize.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
getuid.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
grantpt.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
groups.internal.h Add getgroups and setgroups (#619) 2022-09-18 02:48:53 -07:00
internal.h Add script.com and whois.com courtesy of FreeBSD 2022-09-13 20:26:13 -07:00
interrupts-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
ioctl.c Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
ioctl.h Add ## to ioctl VA_ARGS (#503) 2022-07-22 21:51:12 -07:00
ioctl_default.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_fioclex.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_siocgifconf-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
ioctl_siocgifconf.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_tcgets-nt.c Make improvements 2022-04-24 10:06:05 -07:00
ioctl_tcgets.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_tcsets-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_tcsets.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
ioctl_tiocgwinsz-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_tiocgwinsz.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ioctl_tiocswinsz-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_tiocswinsz.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
iovecsize.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
ipc.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
isatty-metal.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty-nt.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ischardev.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
isdirectory-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isdirectory.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
isexecutable.c Fix some win32 definitions 2022-03-22 19:54:36 -07:00
islinux.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isptmaster.c Add script.com and whois.com courtesy of FreeBSD 2022-09-13 20:26:13 -07:00
isregularfile-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isregularfile.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
issetugid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
issymlink-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
issymlink.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
kemptyfd.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
kill-nt.c Clean up some code 2022-08-20 12:32:51 -07:00
kill.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
killpg.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
kntprioritycombos.internal.h Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
kntsystemdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
kntwindowsdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
ktmppath.c Unbloat the build 2022-08-11 00:15:29 -07:00
landlock.h Write some tests for unveil() 2022-07-18 02:27:26 -07:00
landlock_add_rule.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
landlock_create_ruleset.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
landlock_restrict_self.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
lchmod.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
lchown.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
link.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
lseek-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
lseek.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
lseek64.S Add more foo64() functions for Rust 2022-09-07 05:48:57 -07:00
lstat.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
lstat64.S Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
lutimes.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
madvise-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
madvise.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
major.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.h Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedirs.c Further improve cocmd interpreter 2022-10-12 10:44:54 -07:00
memfd_create.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
metaflock.c Add more apis to redbean unix module 2022-08-16 23:23:34 -07:00
metalfile.internal.h Improve signal handling and math 2021-02-25 18:33:33 -08:00
mincore.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
minor.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
mkdir.c Further improve cocmd interpreter 2022-10-12 10:44:54 -07:00
mkdirat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mkdirat.c Further improve cocmd interpreter 2022-10-12 10:44:54 -07:00
mkfifo.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
mknod.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
mkntcmdline.c Have execve() escape double quotes in cmd.exe's preferred style 2022-10-02 09:15:46 -07:00
mkntenvblock.c Clean up some code 2022-08-20 12:32:51 -07:00
mkntpath.c Have execve() escape double quotes in cmd.exe's preferred style 2022-10-02 09:15:46 -07:00
mkntpathat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
mount.c Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mount.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mremap-sysv.greg.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
munmap-metal.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
munmap-sysv.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
nanos.c Support Linux binfmt_misc and APE loading on Apple 2022-05-21 09:28:25 -07:00
nanos.internal.h Fix the build 2022-09-10 19:57:50 -07:00
nanosleep-xnu.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
nanosleep.c Clean up some sleep code 2022-10-08 03:00:48 -07:00
netbsdtramp.S Always initialize thread local storage 2022-07-19 00:21:46 -07:00
nice.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
nosync.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
now.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
nowl.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
ntaccesscheck.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ntcontext2linux.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntmagicpaths.c Change license 2020-12-27 17:18:44 -08:00
ntmagicpaths.inc Initial import 2020-06-15 07:18:57 -07:00
ntmagicpaths.internal.h Improve documentation 2020-12-27 07:02:35 -08:00
ntreturn.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntsetprivilege.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntspawn.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
ntspawn.h Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
offset2overlap.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
oldbench.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
onntconsoleevent.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
onntconsoleevent_init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
onwincrash.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
open-nt.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
open.c Improve system call documentation 2022-10-02 09:15:46 -07:00
open64.S Add pthread attributes and other libc functions 2022-09-07 05:28:32 -07:00
openat-metal.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
openat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
openat.c Add posix semaphores support 2022-10-14 09:21:02 -07:00
openbsd.internal.h Pay off more technical debt 2022-09-12 23:36:56 -07:00
openpty.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
parsepromises.c Rewrite Linux pledge() code so it can be a payload 2022-08-08 11:41:08 -07:00
pause-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
pause.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
pipe-nt.c Make pthread mutexes more scalable 2022-09-05 15:57:51 -07:00
pipe-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pipe.c Get repository to build with GCC 11 2022-09-13 04:14:55 -07:00
pipe2-sysv.c Make important improvements 2022-09-14 22:39:08 -07:00
pipe2.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
pivot_root.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
pledge-linux.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
pledge.c Further improve ipv4.games server 2022-10-03 16:00:04 -07:00
pledge.h Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
pledge.internal.h Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
poll-metal.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
poll-nt.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
poll.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
posix_fadvise.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
posix_madvise.c Add *NSYNC unit test suite 2022-10-07 21:34:15 -07:00
posix_openpt.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
ppoll.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
prctl.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
pread.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
pread64.S Add pthread attributes and other libc functions 2022-09-07 05:28:32 -07:00
preadv.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
printfds.c Make pthread mutexes more scalable 2022-09-05 15:57:51 -07:00
program_invocation_short_name.S Fix some bugs 2022-08-14 13:28:07 -07:00
ptrace.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ptsname.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
ptsname_r.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
pwrite.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
pwrite64.S Add pthread attributes and other libc functions 2022-09-07 05:28:32 -07:00
pwritev.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
raise.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
read-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
read.c Release pledge v1.8 2022-10-07 03:41:50 -07:00
readansi.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
readlink.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
readlinkat-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
readlinkat.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
readv-metal.c Fix the build 2022-09-13 02:28:07 -07:00
readv-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
readv-serial.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
readv.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
realpath.c Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
reboot.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
remove.c Fix more things 2022-03-24 00:12:29 -07:00
rename.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
renameat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
renameat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
reservefd.c Add shared memory apis to redbean 2022-10-06 04:55:26 -07:00
rmdir.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
rusage2linux.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
samplepids.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
sched-sysv.internal.h Improve the affinity system calls 2022-10-06 15:08:29 -07:00
sched_get_priority_max.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sched_get_priority_min.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sched_getaffinity.c Improve the affinity system calls 2022-10-06 15:08:29 -07:00
sched_getparam.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_getscheduler-netbsd.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_getscheduler.c Make important improvements 2022-09-14 22:39:08 -07:00
sched_rr_get_interval.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sched_setaffinity.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
sched_setparam.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
sched_setscheduler.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
seccomp.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sedebug.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setcontext.S Perform more low-level code cleanup 2022-09-09 04:07:08 -07:00
setegid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
seteuid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setfsgid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setfsuid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setgid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setgroups.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
setitimer-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
setitimer.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
setpgid.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
setpgrp.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
setpriority-nt.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setpriority.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
setregid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setresgid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setresuid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setreuid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setrlimit.c Perform some code cleanup 2022-10-04 23:32:16 -07:00
setsid.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
setuid.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
sig.internal.h Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
sigaction.c Rename LINUX to _HOSTLINUX etc. to reduce clashes (#655) 2022-10-10 20:31:25 -07:00
sigaltstack.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
sigchld-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
sigcount.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
sigenter-freebsd.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
sigenter-netbsd.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
sigenter-openbsd.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
sigenter-xnu.c Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
sigignore.c Make numerous improvements 2021-09-28 01:52:34 -07:00
siginfo2cosmo.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
siginterrupt.c Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
siglock.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
siglock_obj.c Make system() and popen() thread safe 2022-10-13 15:54:05 -07:00
signal.c Improve signals and memory protection 2022-04-12 22:11:00 -07:00
sigpending.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigprocmask-sysv.greg.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
sigprocmask.c Revamp posix_spawn() implementation 2022-10-12 05:26:58 -07:00
sigqueue.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
sigsuspend.c Do some work on TurfWar 2022-10-07 03:11:07 -07:00
sigtimedwait.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigtimedwait.h Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigtimedwait.internal.h Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigwaitinfo.c Introduce sigtimedwait() and sigwaitinfo() 2022-10-10 07:39:44 -07:00
sigwinch-nt.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
sleep.c Clean up some sleep code 2022-10-08 03:00:48 -07:00
splice.c Improve system call documentation 2022-10-02 09:15:46 -07:00
stat.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
stat2cosmo.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
stat64.S Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
state.internal.h Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
statfs-nt.c Polyfill statfs() and fstatfs() on Windows 2022-08-17 19:01:51 -07:00
statfs.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
statfs2cosmo.c Add notpossible keyword 2022-09-03 20:35:31 -07:00
statfs2statvfs.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
statvfs.c Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
symlink.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
symlinkat-nt.c Tidy up the threading implementation 2022-09-10 02:56:25 -07:00
symlinkat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sync-nt.c Remove a bunch of stuff that shouldn't be in docs 2022-09-20 02:57:46 -07:00
sync.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
sync_file_range.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sys_ptrace.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
syscall-nt.internal.h Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
syscall-sysv.internal.h Improve system call wrappers 2022-09-19 15:06:25 -07:00
syscall_support-nt.internal.h Improve system calls 2022-07-08 06:42:03 -07:00
syscall_support-sysv.internal.h Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
sysinfo-nt.c Make improvements 2022-05-28 00:28:09 -07:00
sysinfo.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
sysparam.h Add lchown, lchmod, statvfs, fstatvfs 2022-08-22 20:50:16 -07:00
tcdrain.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcflow.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcflush.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcgetattr.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
tcgetpgrp.c Change license 2020-12-27 17:18:44 -08:00
tcgetsid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcsendbreak.c Fix Landlock Make so it can read pattern rule vars 2022-08-13 17:23:05 -07:00
tcsetattr.c Change license 2020-12-27 17:18:44 -08:00
tcsetpgrp.c Change license 2020-12-27 17:18:44 -08:00
termios.h Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
termios.internal.h Improve system call wrappers 2022-09-19 15:06:25 -07:00
termios2host.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
tgkill.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
time.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
tkill.c Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
tmpfd.c Rename rand64() to _rand64() 2022-10-10 04:12:06 -07:00
touch.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
truncate-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
truncate.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
ttydefaults.h Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
ttyname.c Make improvements 2022-04-28 09:57:07 -07:00
ttyname_r.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
ucontext.h Perform more low-level code cleanup 2022-09-09 04:07:08 -07:00
umask.c Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
uname.c Add sys_ prefix to unwrapped system calls 2022-09-13 11:20:35 -07:00
unlink.c Make numerous improvements 2021-09-28 01:52:34 -07:00
unlink_s.c Improve locks and signals 2022-04-12 05:20:17 -07:00
unlinkat-nt.c Add posix semaphores support 2022-10-14 09:21:02 -07:00
unlinkat.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
unlockpt.c Improve system call wrappers 2022-09-19 15:06:25 -07:00
unmount.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
unsetenv.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
unveil.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
usleep.c Clean up some sleep code 2022-10-08 03:00:48 -07:00
utime.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
utimens.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
utimensat-nt.c Write tests and fixes for utimensat() 2022-06-17 02:43:00 -07:00
utimensat-sysv.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
utimensat-xnu.c Introduce clock_nanosleep() 2022-10-05 06:37:15 -07:00
utimensat.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
utimes.c Fix futimes() regression 2022-10-05 19:25:07 -07:00
vdprintf.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
vdsofunc.greg.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
virtualmax.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
vmsplice.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
wait.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wait3.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wait4-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
wait4-sysv.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
wait4.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
wait4.h Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
waitpid.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
weirdtypes.h Improve cosmo's conformance to libc-test 2022-10-10 17:52:41 -07:00
wincrash.c Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
wincrash.internal.h Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
wincrash_init.S Fix some bugs 2022-05-11 02:50:30 -07:00
wincrashearly.c Improve synchronization 2022-04-15 15:31:55 -07:00
winerr.internal.h Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
winsockerr.c Fix debug mode build 2022-04-16 12:25:53 -07:00
write-nt.c Improve docs of more system calls 2022-10-02 22:14:33 -07:00
write.c Release pledge v1.8 2022-10-07 03:41:50 -07:00
writev-metal.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
writev-nt.c Pay off more technical debt 2022-09-12 23:36:56 -07:00
writev-serial.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
writev.c Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
writevuninterruptible.c Reduce build graph by another eight percent 2022-08-13 13:11:56 -07:00
xattr.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00