musl/src
Rich Felker 8fe5fa56ee fix serious bug in pthread_join
on spurious wakeups/returns from __timedwait, pthread_join would
"succeed" and unmap the thread's stack while it was still running. at
best this would lead to SIGSEGV when the thread resumed execution, but
in the worst case, the thread would later resume executing on top of
another new thread's stack mapped at the same address.

spent about 4 hours tracking this bug down, chasing rare
difficult-to-reproduce stack corruption in a stress test program.
still no idea *what* caused the spurious wakeups; i suspect it's a
kernel bug.
2011-09-11 12:35:41 -04:00
..
aio implement POSIX asynchronous io 2011-09-09 01:07:38 -04:00
conf in pathconf, -1, not 0, means unsupported.. syncio presumably works, too. 2011-08-16 23:23:15 -04:00
ctype more header fixes, minor warning fix 2011-02-14 19:33:11 -05:00
dirent fix errno value when fdopendir is given an invalid file descriptor 2011-07-21 21:15:14 -04:00
env bring back ___environ symbol (3 underscores) 2011-08-23 12:55:47 -04:00
errno simplify multi-threaded errno, eliminate useless function pointer 2011-08-06 20:20:23 -04:00
exit consistency: change all remaining syscalls to use SYS_ rather than __NR_ prefix 2011-04-06 20:32:53 -04:00
fcntl add syscall wrappers for posix_fadvise, posix_fallocate 2011-04-20 15:20:22 -04:00
fenv use type directives for fenv asm functions 2011-06-28 14:41:41 -04:00
internal security hardening: ensure suid programs have valid stdin/out/err 2011-08-23 09:37:39 -04:00
ipc overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
ldso fix RTLD_NEXT on x86_64 2011-09-03 16:10:30 -04:00
linux fix stubbed-out reboot call 2011-08-02 21:22:56 -04:00
locale gb18030 support in iconv (only from, not to) 2011-07-12 20:30:04 -04:00
malloc use new a_crash() asm to optimize double-free handler. 2011-08-23 09:43:45 -04:00
math fix error in previous ld80 fpclassify commit 2011-06-30 16:37:51 -04:00
misc fix some bugs in setxid and update setrlimit to use __synccall 2011-07-30 08:19:31 -04:00
mman work around linux bug in mprotect 2011-06-29 00:42:42 -04:00
mq const correctness in mq_notify 2011-06-25 09:23:36 -04:00
multibyte fix all implicit conversion between signed/unsigned pointers 2011-03-25 16:34:03 -04:00
network implement if_nameindex and if_freenameindex 2011-08-03 12:13:13 -04:00
passwd fix buffer overrun in getgrent code when there are no group members 2011-06-30 08:11:06 -04:00
prng locking support for random() prng 2011-06-29 15:29:52 -04:00
process use weak aliases rather than function pointers to simplify some code 2011-08-06 20:09:51 -04:00
regex duplicate re_nsub in LSB/glibc ABI compatible location 2011-06-16 16:53:11 -04:00
search XSI search.h API implementation by Szabolcs Nagy 2011-06-25 18:18:57 -04:00
select overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
setjmp restore use of .type in asm, but use modern @function (vs %function) 2011-06-14 23:15:08 -04:00
signal fix missing prototypes/wrong signature for psiginfo, psignal 2011-09-02 14:25:43 -04:00
stat fix (hopefully) statvfs breakage on x86_64 that resulted from fixing i386... 2011-04-05 23:58:36 -04:00
stdio more fmemopen null termination fixes 2011-09-04 21:53:20 -04:00
stdlib fix incorrect overflow errors on strtoul, etc. 2011-09-05 22:23:06 -04:00
string fix wrong type for wcsrchr argument 2 2011-06-13 14:06:04 -04:00
stub various legacy and linux-specific stuff 2011-03-18 21:52:26 -04:00
temp remove ugly prng from mk*temp and just re-poll time on retry 2011-07-28 22:03:54 -04:00
termios overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
thread fix serious bug in pthread_join 2011-09-11 12:35:41 -04:00
time strptime: fix use of uninitialized dest field in converting integer 2011-09-05 15:39:36 -04:00
unistd fix some bugs in setxid and update setrlimit to use __synccall 2011-07-30 08:19:31 -04:00