void finalizeWorker(JNIEnv *env, jobject *javaFront) { sendMsgToJava(env, "finalizing native part and kinect threads..."); die = 1; deleteGlobalRef(env, &mJavaFront); deleteGlobalRef(env, &mClassCaller); __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, "framework cleanup"); }
void stopWatcher(JNIEnv* pEnv, StoreWatcher* pWatcher) { if (pWatcher->mState == STATE_OK) { // Waits for the watcher thread to stop. (*pEnv)->MonitorEnter(pEnv, pWatcher->mStoreFront); pWatcher->mState = STATE_KO; (*pEnv)->MonitorExit(pEnv, pWatcher->mStoreFront); pthread_join(pWatcher->mThread, NULL); deleteGlobalRef(pEnv,&pWatcher->mStoreFront); deleteGlobalRef(pEnv,&pWatcher->mColor); deleteGlobalRef(pEnv,&pWatcher->ClassStore); deleteGlobalRef(pEnv,&pWatcher->ClassColor); } }
JavaObject::~JavaObject() { UPDATE_STATS(-1, isDetached() ? -1 : 0); if (javaObject_ || refTableKey_ > 0) { deleteGlobalRef(); } }
JavaObject::~JavaObject() { UPDATE_STATS(-1, isDetached() ? -1 : 0); if (javaObject_) { deleteGlobalRef(); } }
/*===================================================================*/ void InfoNES_DestroyContext(JNIEnv * pEnv, NES_CONTEXT *pNesContext) { if( 0 == pEnv || 0 == pNesContext ) { LOGV("InfoNES_DestroyContext failed 1"); return; } InfoNES_StopTimer(); NES_SEM_DESTROY(pNesContext->sem); NES_MUTEX_DESTROY( WaitFlagCriticalSection ); NES_MUTEX_DESTROY( PauseFlagCriticalSection ); deleteGlobalRef(pEnv, &(pNesContext->classNesSimu) ); deleteGlobalRef(pEnv, &(pNesContext->classBitmap) ); deleteGlobalRef(pEnv, &(pNesContext->objNesSimu) ); deleteGlobalRef(pEnv, &(pNesContext->objBitmap) ); LOGV(" InfoNES_DestroyContext success"); }
void JavaObject::detach() { UPDATE_STATS(0, 1); // Keep JavaScript object around until finalization. handle_.ClearWeak(); // Release reference to Java object so it can get finalized. deleteGlobalRef(); }
JavaObject::~JavaObject() { UPDATE_STATS(-1, isDetached() ? -1 : 0); if (javaObject_ || refTableKey_ > 0) { deleteGlobalRef(); } if (persistent().IsEmpty()) return; assert(persistent().IsNearDeath()); persistent().ClearWeak(); persistent().Reset(); }
void Jvm::deleteGlobalRefSafe(const jobject object) { if (object != NULL) { deleteGlobalRef(object); } }