FAQ

On Wed, 4 Dec 2002, [ISO-8859-2] Maróy Ákos wrote:
What happens is that the function jvm_create() gets called regularly
when requesting new pages using the Java extension, from the function
java_call_function_handler():

if (!JG(jenv)) jvm_create(TSRMLS_C);
Actually, the JVM is unloaded by php. In the latest CVS the code from
destroy_jvm() has been removed that tried to dlclose() the JVM. This was
done because it is impossible to dlclose() a JVM because DestroyJavaVM()
is broken in all JNI implementations.

It the code you reference JG(env) is a global variable that is the jenv of
the currently running JVM. Of course a new JVM needs to be created by every
instance of PHP (so every httpd child in apache). The code is misleading
because in past versions of PHP, the module tried to unload the JVM and load it
again every time a ini setting was changed. This code should be removed
and jvm_create() should be instead placed in the PHP_MINIT() function, that
way the JVM will be loaded when apache is started instead of the first time
java() is used by PHP. I'll get to it eventually unless someone beats me to
it.

-Tony

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 22 of 27 | next ›
Discussion Overview
groupphp-dev @
categoriesphp
postedDec 4, '02 at 10:08a
activeDec 6, '02 at 5:06p
posts27
users5
websitephp.net

People

Translate

site design / logo © 2022 Grokbase