diff options
author | Sam Ruby <rubys@php.net> | 2000-01-28 00:32:28 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 2000-01-28 00:32:28 +0000 |
commit | 302ccb0d97d80e1b3f5483975f1af11ec1faaa26 (patch) | |
tree | d79ed58daf06a4b2bb557332b66320f7c2cdd13b /ext/java/java.c | |
parent | b87e48802e40103accf45962d32d7514f61017d3 (diff) | |
download | php-git-302ccb0d97d80e1b3f5483975f1af11ec1faaa26.tar.gz |
Shutdown cleanly (prevents Kaffe from trapping on exit)
Diffstat (limited to 'ext/java/java.c')
-rw-r--r-- | ext/java/java.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/java/java.c b/ext/java/java.c index 238b9930b2..d14fc4d1c5 100644 --- a/ext/java/java.c +++ b/ext/java/java.c @@ -101,12 +101,15 @@ PHP_INI_END() */ void jvm_destroy() { if (php_reflect) (*jenv)->DeleteGlobalRef(jenv, php_reflect); - if (jvm) (*jvm)->DestroyJavaVM(jvm); + if (jvm) { + (*jvm)->DetachCurrentThread(jvm); + (*jvm)->DestroyJavaVM(jvm); + jvm = 0; + } #if !(WIN32||WINNT) if (javadl) dlclose(javadl); #endif php_reflect = 0; - jvm = 0; jenv = 0; } |