svn commit: r263107 - head/lib/libc/gen
David Xu
davidxu at FreeBSD.org
Thu Mar 13 06:54:10 UTC 2014
Author: davidxu
Date: Thu Mar 13 06:54:10 2014
New Revision: 263107
URL: http://svnweb.freebsd.org/changeset/base/263107
Log:
To avoid missing a chance to cancel thread, call _pthread_testcancel at the
beginning of _sem_timedwait.
Submitted by: Eric van Gyzen < eric at vangyzen dot net >
MFC after: 3 days
Modified:
head/lib/libc/gen/sem_new.c
Modified: head/lib/libc/gen/sem_new.c
==============================================================================
--- head/lib/libc/gen/sem_new.c Thu Mar 13 05:17:53 2014 (r263106)
+++ head/lib/libc/gen/sem_new.c Thu Mar 13 06:54:10 2014 (r263107)
@@ -381,6 +381,7 @@ _sem_timedwait(sem_t * __restrict sem,
return (-1);
retval = 0;
+ _pthread_testcancel();
for (;;) {
while ((val = sem->_kern._count) > 0) {
if (atomic_cmpset_acq_int(&sem->_kern._count, val, val - 1))
More information about the svn-src-all
mailing list