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