Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/lib/libpthread



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.




Home | Main Index | Thread Index | Old Index