cosmopolitan/third_party
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
..
argon2 Fold LIBC_UNICODE into LIBC_STR 2022-08-13 08:42:32 -07:00
awk Make cli commands yoinkable into cosmo shell 2022-10-14 16:37:29 -07:00
bzip2 Pay off more technical debt 2022-09-12 23:36:56 -07:00
chibicc Rewrite brk() and sbrk() 2022-10-01 23:11:56 -07:00
compiler_rt Use private keyword on makefile target variables 2022-08-10 18:36:11 -07:00
dlmalloc Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
double-conversion Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
finger Fix Landlock Make so it can read pattern rule vars 2022-08-13 17:23:05 -07:00
gcc Revert whitespace fixes to third_party (#501) 2022-07-21 21:46:07 -07:00
gdtoa Remove stdio lock macros from amalgamation 2022-09-10 12:03:36 -07:00
getopt Make cli commands yoinkable into cosmo shell 2022-10-14 16:37:29 -07:00
libcxx Get repository to build with GCC 11 2022-09-13 04:14:55 -07:00
linenoise Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
lua Add posix semaphores support 2022-10-14 09:21:02 -07:00
lz4cli Fold LIBC_UNICODE into LIBC_STR 2022-08-13 08:42:32 -07:00
make Fix make sandboxing logic for .STRICT mode (#661) 2022-10-11 21:16:03 -07:00
maxmind Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
mbedtls Rename rand64() to _rand64() 2022-10-10 04:12:06 -07:00
musl Make some foss compatibility improvements 2022-10-14 13:59:34 -07:00
nsync Implement pthread_atfork() 2022-10-16 12:25:13 -07:00
python Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
quickjs Pay off more technical debt 2022-09-12 23:36:56 -07:00
regex Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
sed Make cli commands yoinkable into cosmo shell 2022-10-14 16:37:29 -07:00
smallz4 Pay off more technical debt 2022-09-12 23:36:56 -07:00
sqlite3 Elevate Windows production worthiness 2022-10-13 13:44:41 -07:00
stb Pay off more technical debt 2022-09-12 23:36:56 -07:00
tidy Get repository to build with GCC 11 2022-09-13 04:14:55 -07:00
tr Fix MODE=opt build 2022-10-14 16:49:16 -07:00
unzip Greatly expand system() shell code features 2022-10-11 21:30:31 -07:00
xed Pay off more technical debt 2022-09-12 23:36:56 -07:00
zip Pay off more technical debt 2022-09-12 23:36:56 -07:00
zlib Fix bugs and make code tinier 2022-10-09 23:21:34 -07:00
third_party.mk Make cli commands yoinkable into cosmo shell 2022-10-14 16:37:29 -07:00