multithreading - Crash after call DetachCurrentThread -


i have private lib developed company. allowed me set callback function, after long time operation completes, callback called in sub thread.

i should operate jvm in callback. main code in call function:

jnienv *penv = null; gljnicontext.pjvm->attachcurrentthread(&penv, null); uiinkeymsinternal(penv, 10000000); gljnicontext.pjvm->detachcurrentthread(); 

the attachcurrentthread attach sub thread jvm, uiinkeymsinternal call java method, , detachcurrentthread detach sub thread jvm, , gljnicontext.pjvm stored in native method method this:

javavm* gs_jvm; penv->getjavavm(&gs_jvm); gljnicontext.pjvm = gs_jvm; 

with line gljnicontext.pjvm->detachcurrentthread(); , program crash. without line, it's normal. how analyse phenomenon?

another question, can jnienv variable attachcurrentthread method normally, findclass method doesn't execute normally. whatever pass, "java/lang/thread", return 0x00. normal or can ignore it?

don't call jni handler function main thread. calling jni handler function main thread make crash.


Comments