use a_store to set cancel flag in pthread_cancel, to ensure a barrier
authorRich Felker <dalias@aerifal.cx>
Fri, 1 Apr 2011 23:53:16 +0000 (19:53 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 1 Apr 2011 23:53:16 +0000 (19:53 -0400)
src/thread/pthread_cancel.c

index 1ff00ad3016e43a685c3e9a196f85cdb3701b739..c497dbe667d101054158d1399854f2da8469a5cc 100644 (file)
@@ -2,6 +2,6 @@
 
 int pthread_cancel(pthread_t t)
 {
-       t->cancel = 1;
+       a_store(&t->cancel, 1);
        return pthread_kill(t, SIGCANCEL);
 }