don't use pthread_once when there is no danger in race
This commit is contained in:
parent
e74664016b
commit
02eff258c6
1 changed files with 5 additions and 2 deletions
|
|
@ -71,8 +71,11 @@ static void init_cancellation()
|
|||
|
||||
int pthread_cancel(pthread_t t)
|
||||
{
|
||||
static pthread_once_t once;
|
||||
pthread_once(&once, init_cancellation);
|
||||
static int init;
|
||||
if (!init) {
|
||||
init_cancellation();
|
||||
init = 1;
|
||||
}
|
||||
a_store(&t->cancel, 1);
|
||||
return pthread_kill(t, SIGCANCEL);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue