Exemplo n.º 1
0
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");
}
Exemplo n.º 2
0
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);

	}
}
Exemplo n.º 3
0
JavaObject::~JavaObject()
{
	UPDATE_STATS(-1, isDetached() ? -1 : 0);

	if (javaObject_ || refTableKey_ > 0) {
		deleteGlobalRef();
	}
}
Exemplo n.º 4
0
JavaObject::~JavaObject()
{
	UPDATE_STATS(-1, isDetached() ? -1 : 0);

	if (javaObject_) {
		deleteGlobalRef();
	}
}
Exemplo n.º 5
0
/*===================================================================*/
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");

}
Exemplo n.º 6
0
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();
}
Exemplo n.º 7
0
JavaObject::~JavaObject()
{
	UPDATE_STATS(-1, isDetached() ? -1 : 0);

	if (javaObject_ || refTableKey_ > 0) {
		deleteGlobalRef();
	}

	if (persistent().IsEmpty())
		return;
	assert(persistent().IsNearDeath());
	persistent().ClearWeak();
	persistent().Reset();
}
Exemplo n.º 8
0
void Jvm::deleteGlobalRefSafe(const jobject object)
{
  if (object != NULL) {
    deleteGlobalRef(object);
  }
}