This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]