invocation interface

Jeff Sturm jsturm@one-point.com
Wed May 16 06:42:00 GMT 2001


Bryce McKinlay wrote:
> By "FirstThread" I actually meant the "sentinal thread which sits in
> _Jv_ThreadWait waiting for all other non-daemon threads to die", not the
> gnu.gcj.FirstThread. The same behaviour could be acomplished by having each
> thread check how many other threads are running when it exits, but I'm not
> convinced that wouldn't make the code more complex and less portable.

How is this done with JNI?  The Sun JNI docs say DestroyJavaVM must not
be called until all non-main threads have terminated.  But it's not easy
to know when all threads have completed without the equivalent of
_Jv_ThreadWait.

In the JDK 1.2 and higher the "java" launcher program uses JNI.  Perhaps
it never really calls DestroyJavaVM at all, but just falls off the end
of main?  This seems like a flawed design.


Jeff



More information about the Java mailing list