Skip to content

Commit 2853494

Browse files
inolenjoeferner
authored andcommitted
- added JVM destruction to destructor
1 parent 27c5f94 commit 2853494

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

src/java.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Java::Java() {
7777
}
7878

7979
Java::~Java() {
80-
80+
this->destroyJVM(&this->m_jvm, &this->m_env);
8181
}
8282

8383
v8::Handle<v8::Value> Java::ensureJvm() {
@@ -159,6 +159,12 @@ v8::Handle<v8::Value> Java::createJVM(JavaVM** jvm, JNIEnv** env) {
159159
return v8::Undefined();
160160
}
161161

162+
void Java::destroyJVM(JavaVM** jvm, JNIEnv** env) {
163+
(*jvm)->DestroyJavaVM();
164+
*jvm = NULL;
165+
*env = NULL;
166+
}
167+
162168
/*static*/ v8::Handle<v8::Value> Java::getClassLoader(const v8::Arguments& args) {
163169
v8::HandleScope scope;
164170
Java* self = node::ObjectWrap::Unwrap<Java>(args.This());

src/java.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class Java : public node::ObjectWrap {
1818
Java();
1919
~Java();
2020
v8::Handle<v8::Value> createJVM(JavaVM** jvm, JNIEnv** env);
21+
void destroyJVM(JavaVM** jvm, JNIEnv** env);
2122

2223
static v8::Handle<v8::Value> New(const v8::Arguments& args);
2324
static v8::Handle<v8::Value> getClassLoader(const v8::Arguments& args);

0 commit comments

Comments
 (0)