I know this is a known issue, but I had a question and possibly
additional information (assuming any of the JDK developers are on this
mailing list :-)...
I've been using the Ganymede server (http://www.arlut.utexas.edu/gash2),
which is written in Java, recently. I managed to track down a problem I
was having to the native threads issue documented in the Blackdown JDK
readme file (and probably other places :-). The odd thing is, I'm using
the IBM 1.1.8 JDK. It made me wonder what the correlation between the
two JDKs was. Was IBM's JDK for linux written entirely from scratch
within IBM, or did they get some help? :-)
Or perhaps the problem with waiting on threads to terminate is in the
linux libraries and not in Blackdown's (or IBM's) JRE implementation.
FWIW, I've used Blackdown JDK 1.2 and 1.1.7 for linux and IBM's JDK
1.1.8 for linux.
The comments in the 1.2 README say "very infrequent problems", but what
I'm seeing happens every time. Basically, the Ganymede server, during
the shutdown process, tells a class that handles mail (Qsmtp, see
http://www.io.com/~maus/JavaPage.html) to stop its threads. This is
accomplished by setting a flag and letting the run() method execute,
which then falls out and terminates. The function that does the flag
change then waits on the thread by using the join() method. The join()
method never returns, and if I put an isAlive() check beforehand, it
won't ever return either. This ALWAYS happens, it's not what I'd
consider "very infrequent" :-). The exec() method is being used in the
Ganymede server, but probably not in the same way that you've seen e.g.
what's described in the README.
It seems to work ok if I use the green threads with the Blackdown 1.2
JDK. IBM's JDK doesn't appear to have green threads, so I may have to
go to the Blackdown JDK..
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]