cosmopolitan/third_party
Justine Tunney 98c5847727
Fix fork waiter leak in nsync
This change fixes a bug where nsync waiter objects would leak. It'd mean
that long-running programs like runitd would run out of file descriptors
on NetBSD where waiter objects have ksem file descriptors. On other OSes
this bug is mostly harmless since the worst that can happen with a futex
is to leak a little bit of ram. The bug was caused because tib_nsync was
sneaking back in after the finalization code had cleared it. This change
refactors the thread exiting code to handle nsync teardown appropriately
and in making this change I found another issue, which is that user code
which is buggy, and tries to exit without joining joinable threads which
haven't been detached, would result in a deadlock. That doesn't sound so
bad, except the main thread is a joinable thread. So this deadlock would
be triggered in ways that put libc at fault. So we now auto-join threads
and libc will log a warning to --strace when that happens for any thread
2024-12-31 01:30:13 -08:00
..
aarch64 Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
argon2 Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
awk Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
bzip2 Release Cosmopolitan v3.6.0 2024-07-23 03:28:19 -07:00
chibicc Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
compiler_rt Implement more bf16/fp16 compiler runtimes 2024-09-13 05:06:34 -07:00
ctags Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
dlmalloc Make bulk_free() go faster 2024-12-23 20:31:57 -08:00
double-conversion Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
finger Fix ctype.h and wctype.h 2024-07-21 15:54:17 -07:00
gdtoa Allow user to override pthread mutex and cond 2024-12-23 21:57:52 -08:00
getopt Delete ASAN 2024-06-22 05:45:49 -07:00
hiredis Fix ctype.h and wctype.h 2024-07-21 15:54:17 -07:00
intel Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
less Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
libcxx Add missing pragma 2024-08-16 21:49:28 -07:00
libcxxabi Fix some static analysis issues 2024-07-27 09:16:54 -07:00
libunwind Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
linenoise Make improvements 2024-09-01 01:27:47 -07:00
lua Eliminate cyclic locks in runtime 2024-12-16 22:25:12 -08:00
lz4cli Implement proper time zone support 2024-05-04 23:06:37 -07:00
make Release Cosmopolitan v3.6.0 2024-07-23 03:28:19 -07:00
maxmind Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
mbedtls Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
musl Define glob64 2024-10-12 15:26:10 -07:00
ncurses Release Cosmopolitan v3.6.0 2024-07-23 03:28:19 -07:00
nsync Fix fork waiter leak in nsync 2024-12-31 01:30:13 -08:00
openmp Introduce cosmo_futex_wait and cosmo_futex_wake 2024-11-22 11:25:15 -08:00
pcre Update Musl Libc code 2024-07-30 22:51:29 -07:00
puff Delete ASAN 2024-06-22 05:45:49 -07:00
python Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
qemu more modeline errata (#1019) 2023-12-16 23:07:10 -05:00
readline Fix --ftrace on Windows 2024-01-01 00:00:42 -08:00
regex Update Musl Libc code 2024-07-30 22:51:29 -07:00
sed Strongly link tr and sed into system() and popen() 2024-11-15 21:23:49 -08:00
smallz4 Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
sqlite3 Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
stb Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
tidy Fix MODE=optlinux and MODE=tiny builds 2024-07-23 04:04:19 -07:00
tr Strongly link tr and sed into system() and popen() 2024-11-15 21:23:49 -08:00
tree Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
tz Eliminate cyclic locks in runtime 2024-12-16 22:25:12 -08:00
unzip Update Musl Libc code 2024-07-30 22:51:29 -07:00
vqsort more modeline errata (#1019) 2023-12-16 23:07:10 -05:00
xed Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
xxhash Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
zip Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
zlib Import some Chromium Zlib changes 2024-10-11 07:04:02 -07:00
zstd Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
.clang-format Reduce header complexity 2023-11-28 14:39:42 -08:00
BUILD.mk Release Cosmopolitan v3.6.0 2024-07-23 03:28:19 -07:00