prims.cc (_Jv_CreateJavaVM): Add comment about initialization order.
2005-02-15 David Daney <ddaney@avtrex.com> Bryce McKinlay <mckinlay@redhat.com> * prims.cc (_Jv_CreateJavaVM): Add comment about initialization order. * posix-threads.cc (_Jv_InitThreads): Call block_sigchld() here to ensure that GC threads inherit the new signal mask. (block_sigchld): Call JvFail rather than throwing exception if pthread_sigmask() fails. Co-Authored-By: Bryce McKinlay <mckinlay@redhat.com> From-SVN: r95095
This commit is contained in:
parent
5909b0346c
commit
7e9534bc54
3 changed files with 26 additions and 11 deletions
|
@ -281,6 +281,17 @@ handle_intr (int)
|
|||
// Do nothing.
|
||||
}
|
||||
|
||||
static void
|
||||
block_sigchld()
|
||||
{
|
||||
sigset_t mask;
|
||||
sigemptyset (&mask);
|
||||
sigaddset (&mask, SIGCHLD);
|
||||
int c = pthread_sigmask (SIG_BLOCK, &mask, NULL);
|
||||
if (c != 0)
|
||||
JvFail (strerror (c));
|
||||
}
|
||||
|
||||
void
|
||||
_Jv_InitThreads (void)
|
||||
{
|
||||
|
@ -296,6 +307,10 @@ _Jv_InitThreads (void)
|
|||
sigemptyset (&act.sa_mask);
|
||||
act.sa_flags = 0;
|
||||
sigaction (INTR, &act, NULL);
|
||||
|
||||
// Block SIGCHLD here to ensure that any non-Java threads inherit the new
|
||||
// signal mask.
|
||||
block_sigchld();
|
||||
}
|
||||
|
||||
_Jv_Thread_t *
|
||||
|
@ -333,17 +348,6 @@ _Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio)
|
|||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
block_sigchld()
|
||||
{
|
||||
sigset_t mask;
|
||||
sigemptyset (&mask);
|
||||
sigaddset (&mask, SIGCHLD);
|
||||
int c = pthread_sigmask (SIG_BLOCK, &mask, NULL);
|
||||
if (c != 0)
|
||||
throw new java::lang::InternalError (JvNewStringUTF (strerror (c)));
|
||||
}
|
||||
|
||||
void
|
||||
_Jv_ThreadRegister (_Jv_Thread_t *data)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue