Module Name: src Committed By: ad Date: Wed Jun 10 22:45:15 UTC 2020
Modified Files: src/lib/libpthread: pthread.c pthread_cond.c pthread_int.h pthread_mutex.c pthread_types.h Log Message: - Make pthread_condvar and pthread_mutex work on the stack rather than in pthread_t, so there's less chance of bad things happening if someone calls (for example) pthread_cond_broadcast() from a signal handler. - Remove all the deferred waiter handling except for the one case that really matters which is transferring waiters from condvar -> mutex on wakeup, and do that by splicing the condvar's waiters onto the mutex. - Remove the mutex waiters bit as it's another complication that's not strictly needed. To generate a diff of this commit: cvs rdiff -u -r1.174 -r1.175 src/lib/libpthread/pthread.c cvs rdiff -u -r1.73 -r1.74 src/lib/libpthread/pthread_cond.c cvs rdiff -u -r1.106 -r1.107 src/lib/libpthread/pthread_int.h cvs rdiff -u -r1.79 -r1.80 src/lib/libpthread/pthread_mutex.c cvs rdiff -u -r1.24 -r1.25 src/lib/libpthread/pthread_types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.