Loading core/jni/android_server_BluetoothEventLoop.cpp +12 −5 Original line number Original line Diff line number Diff line Loading @@ -564,7 +564,10 @@ static void *eventLoopMain(void *ptr) { NULL, NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL, NULL); tearDownEventLoop(nat); tearDownEventLoop(nat); nat->vm->DetachCurrentThread(); nat->vm->DetachCurrentThread(); shutdown(nat->controlFdR,SHUT_RDWR); int fd = nat->controlFdR; nat->controlFdR = 0; close(fd); return NULL; return NULL; } } case EVENT_LOOP_ADD: case EVENT_LOOP_ADD: Loading Loading @@ -653,9 +656,12 @@ static jboolean startEventLoopNative(JNIEnv *env, jobject object) { done: done: if (JNI_FALSE == result) { if (JNI_FALSE == result) { if (nat->controlFdW || nat->controlFdR) { if (nat->controlFdW) { shutdown(nat->controlFdW, SHUT_RDWR); close(nat->controlFdW); nat->controlFdW = 0; nat->controlFdW = 0; } if (nat->controlFdR) { close(nat->controlFdR); nat->controlFdR = 0; nat->controlFdR = 0; } } if (nat->me) env->DeleteGlobalRef(nat->me); if (nat->me) env->DeleteGlobalRef(nat->me); Loading Loading @@ -692,9 +698,10 @@ static void stopEventLoopNative(JNIEnv *env, jobject object) { nat->watchData = NULL; nat->watchData = NULL; nat->pollDataSize = 0; nat->pollDataSize = 0; nat->pollMemberCount = 0; nat->pollMemberCount = 0; shutdown(nat->controlFdW, SHUT_RDWR); int fd = nat->controlFdW; nat->controlFdW = 0; nat->controlFdW = 0; nat->controlFdR = 0; close(fd); } } pthread_mutex_unlock(&(nat->thread_mutex)); pthread_mutex_unlock(&(nat->thread_mutex)); #endif // HAVE_BLUETOOTH #endif // HAVE_BLUETOOTH Loading Loading
core/jni/android_server_BluetoothEventLoop.cpp +12 −5 Original line number Original line Diff line number Diff line Loading @@ -564,7 +564,10 @@ static void *eventLoopMain(void *ptr) { NULL, NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL, NULL); tearDownEventLoop(nat); tearDownEventLoop(nat); nat->vm->DetachCurrentThread(); nat->vm->DetachCurrentThread(); shutdown(nat->controlFdR,SHUT_RDWR); int fd = nat->controlFdR; nat->controlFdR = 0; close(fd); return NULL; return NULL; } } case EVENT_LOOP_ADD: case EVENT_LOOP_ADD: Loading Loading @@ -653,9 +656,12 @@ static jboolean startEventLoopNative(JNIEnv *env, jobject object) { done: done: if (JNI_FALSE == result) { if (JNI_FALSE == result) { if (nat->controlFdW || nat->controlFdR) { if (nat->controlFdW) { shutdown(nat->controlFdW, SHUT_RDWR); close(nat->controlFdW); nat->controlFdW = 0; nat->controlFdW = 0; } if (nat->controlFdR) { close(nat->controlFdR); nat->controlFdR = 0; nat->controlFdR = 0; } } if (nat->me) env->DeleteGlobalRef(nat->me); if (nat->me) env->DeleteGlobalRef(nat->me); Loading Loading @@ -692,9 +698,10 @@ static void stopEventLoopNative(JNIEnv *env, jobject object) { nat->watchData = NULL; nat->watchData = NULL; nat->pollDataSize = 0; nat->pollDataSize = 0; nat->pollMemberCount = 0; nat->pollMemberCount = 0; shutdown(nat->controlFdW, SHUT_RDWR); int fd = nat->controlFdW; nat->controlFdW = 0; nat->controlFdW = 0; nat->controlFdR = 0; close(fd); } } pthread_mutex_unlock(&(nat->thread_mutex)); pthread_mutex_unlock(&(nat->thread_mutex)); #endif // HAVE_BLUETOOTH #endif // HAVE_BLUETOOTH Loading