This is the mail archive of the
java-prs@sourceware.cygnus.com
mailing list for the Java project.
Re: libgcj/78
- To: tromey at cygnus dot com
- Subject: Re: libgcj/78
- From: green at cygnus dot com
- Date: 2 Nov 1999 19:00:01 -0000
- Cc: java-prs at sourceware dot cygnus dot com,
- Reply-To: green at cygnus dot com
The following reply was made to PR libgcj/78; it has been noted by GNATS.
From: green@cygnus.com
To: green@cygnus.com, java-gnats@sourceware.cygnus.com, tromey@cygnus.com
Cc:
Subject: Re: libgcj/78
Date: 2 Nov 1999 18:56:55 -0000
Synopsis: pthread thread cancellation problem
State-Changed-From-To: open->analyzed
State-Changed-By: green
State-Changed-When: Tue Nov 2 10:56:55 1999
State-Changed-Why:
Now I'm thinking we should remove Thread.stop and friends.
JDK 1.1 stongly recommends not using them, and they're
deprecated in JDK 1.2. After speaking with Ulrich Drepper,
I think it's almost impossible to support them safely with
the existing glibc and gcc technology. Eventually the plan
is to add structured EH to gcc, and then use EH in glibc.
Until then, we should really avoid throwing, or longjmp'ing
out of callbacks. The current implementation is broken in
an even more subtle way. Cancelling the thread will invoke
various registered callbacks. One of the callbacks does
the throw (or longjmp). Another registered callback is
from the GC, where it deregisters interest in the thread.
However, the cancelled thread can catch the exception and
continue running! Maybe we should just remove this
functionality before it causes more problems for people.
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&database=java&pr=78