Module Name: src Committed By: christos Date: Fri Jan 31 19:22:00 UTC 2014
Modified Files: src/lib/libpthread: pthread_cond.c pthread_mutex.c Log Message: PR/44756: Sad Clouds: Prevent leakage of errno = ESRCH from _lwp_park. This has two parts: - in pthread_cond_timedwait() if the thread we are trying to unpark exited, retry the the _lwp_park call without it. - pthread_mutex() was affecting errno since it is calling _lwp_park() from pthread_mutex_lock_slow(). preserve the original errno. Note that the example problem still causes an occassional deadlock on machines with many CPUs and it is the same deadlock we observe with named. To generate a diff of this commit: cvs rdiff -u -r1.61 -r1.62 src/lib/libpthread/pthread_cond.c cvs rdiff -u -r1.56 -r1.57 src/lib/libpthread/pthread_mutex.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.