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:
drochner 2006-04-24 18:39:36 +00:00
parent 8937ee204d
commit f782e99583
1 changed files with 5 additions and 3 deletions

View File

@ -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 */