Browse Source

don't use pthread_once when there is no danger in race

rs-1.0
Rich Felker 15 years ago
parent
commit
02eff258c6
  1. 7
      src/thread/cancel_impl.c

7
src/thread/cancel_impl.c

@ -71,8 +71,11 @@ static void init_cancellation()
int pthread_cancel(pthread_t t) int pthread_cancel(pthread_t t)
{ {
static pthread_once_t once; static int init;
pthread_once(&once, init_cancellation); if (!init) {
init_cancellation();
init = 1;
}
a_store(&t->cancel, 1); a_store(&t->cancel, 1);
return pthread_kill(t, SIGCANCEL); return pthread_kill(t, SIGCANCEL);
} }

Loading…
Cancel
Save