This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [3.3 PATCH] Fix broken libgcj signal handling
David Daney writes:
> Andrew Haley wrote:
>
> >Ulrich Weigand writes:
> > >
> > > ChangeLog:
> > >
> > > * prims.cc (catch_segv): Unblock correct signal.
> > > (catch_fpe): Likewise.
> >
> >OK, Thanks.
> >
> >Andrew.
> >
> >
> Isn't this system dependent?
>
> Sparc and MIPS are configured for SA_NODEFER so this is not needed.
>
> Seems to me that unblocking should be handled in a similar manner to
> setting up the singal handlers.
You're right. This was done in rather a hurry, because when the Linux
2.6 kernel came along gcj suddenly stopped working.
The problem is that I haven't got easy access to every system, and I
don't want to change all the target dependent files if I can't test
them. Also, SIG_UNBLOCK is common POSIX, so why put it in every
target specific handler?
On balance, I think I rather prefer SIG_UNBLOCK to SA_NODEFER, but I'm
not terribly bothered either way. I think this doesn't cause any
correctness problems, it's more of a tidiness issue. Not that
tidiness isn't important.
The easiest fix would probably be to remove SA_NODEFER from MIPS and
SPARC, but I won't do that without testing. Or maybe use SA_NODEFER
everywhere, but I won't do that without testing either.
Andrew.