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))
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to