prims.cc (unblock_signal): New function.

2003-08-19  Andrew Haley  <aph@redhat.com>

	* prims.cc (unblock_signal): New function.
	(SIGNAL_HANDLER): Use it.
	(SIGNAL_HANDLER): Likewise.

From-SVN: r70598
This commit is contained in:
Andrew Haley 2003-08-20 14:32:16 +00:00 committed by Andrew Haley
parent 3acef2ae63
commit 2510de8d0b
2 changed files with 22 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2003-08-19 Andrew Haley <aph@redhat.com>
* prims.cc (unblock_signal): New function.
(SIGNAL_HANDLER): Use it.
(SIGNAL_HANDLER): Likewise.
2003-08-19 Danny Smith <dannysmith@users.sourceforge.net>
PR libgcj/11575

View file

@ -122,11 +122,26 @@ void (*_Jv_JVMPI_Notify_THREAD_END) (JVMPI_Event *event);
#endif
/* Unblock a signal. Unless we do this, the signal may only be sent
once. */
static void
unblock_signal (int signum)
{
#ifdef _POSIX_VERSION
sigset_t sigs;
sigemptyset (&sigs);
sigaddset (&sigs, signum);
sigprocmask (SIG_UNBLOCK, &sigs, NULL);
#endif
}
#ifdef HANDLE_SEGV
SIGNAL_HANDLER (catch_segv)
{
java::lang::NullPointerException *nullp
= new java::lang::NullPointerException;
unblock_signal (SIGSEGV);
MAKE_THROW_FRAME (nullp);
throw nullp;
}
@ -137,6 +152,7 @@ SIGNAL_HANDLER (catch_fpe)
{
java::lang::ArithmeticException *arithexception
= new java::lang::ArithmeticException (JvNewStringLatin1 ("/ by zero"));
unblock_signal (SIGFPE);
#ifdef HANDLE_DIVIDE_OVERFLOW
HANDLE_DIVIDE_OVERFLOW;
#else