There is no point in using the internal sigprocmask() to initialize
the process' signal mask -- this ends up in a no-op. Use the system call directly instead. (This might be done in pthread_sig.c, but for now I wanted a simple patch which is easily tested and pulled up.)
This commit is contained in:
parent
8937ee204d
commit
f782e99583
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: pthread.c,v 1.47 2006/02/12 11:41:53 yamt Exp $ */
|
||||
/* $NetBSD: pthread.c,v 1.48 2006/04/24 18:39:36 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2001,2002,2003 The NetBSD Foundation, Inc.
|
||||
|
@ -37,7 +37,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: pthread.c,v 1.47 2006/02/12 11:41:53 yamt Exp $");
|
||||
__RCSID("$NetBSD: pthread.c,v 1.48 2006/04/24 18:39:36 drochner Exp $");
|
||||
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
|
@ -97,6 +97,8 @@ struct pthread_queue_t pthread__suspqueue;
|
|||
|
||||
int pthread__concurrency, pthread__maxconcurrency;
|
||||
|
||||
int _sys___sigprocmask14(int, const sigset_t *, sigset_t *);
|
||||
|
||||
__strong_alias(__libc_thr_self,pthread_self)
|
||||
__strong_alias(__libc_thr_create,pthread_create)
|
||||
__strong_alias(__libc_thr_exit,pthread_exit)
|
||||
|
@ -183,7 +185,7 @@ pthread_init(void)
|
|||
pthread__initmain(&first);
|
||||
pthread__initthread(first, first);
|
||||
first->pt_state = PT_STATE_RUNNING;
|
||||
sigprocmask(0, NULL, &first->pt_sigmask);
|
||||
_sys___sigprocmask14(0, NULL, &first->pt_sigmask);
|
||||
PTQ_INSERT_HEAD(&pthread__allqueue, first, pt_allq);
|
||||
|
||||
/* Start subsystems */
|
||||
|
|
Loading…
Reference in New Issue