Merge "Everytime Bluetooth was turned off two file descriptors were not closed"
This commit is contained in:
@@ -564,7 +564,10 @@ static void *eventLoopMain(void *ptr) {
|
||||
NULL, NULL, NULL, NULL, NULL);
|
||||
tearDownEventLoop(nat);
|
||||
nat->vm->DetachCurrentThread();
|
||||
shutdown(nat->controlFdR,SHUT_RDWR);
|
||||
|
||||
int fd = nat->controlFdR;
|
||||
nat->controlFdR = 0;
|
||||
close(fd);
|
||||
return NULL;
|
||||
}
|
||||
case EVENT_LOOP_ADD:
|
||||
@@ -653,9 +656,12 @@ static jboolean startEventLoopNative(JNIEnv *env, jobject object) {
|
||||
|
||||
done:
|
||||
if (JNI_FALSE == result) {
|
||||
if (nat->controlFdW || nat->controlFdR) {
|
||||
shutdown(nat->controlFdW, SHUT_RDWR);
|
||||
if (nat->controlFdW) {
|
||||
close(nat->controlFdW);
|
||||
nat->controlFdW = 0;
|
||||
}
|
||||
if (nat->controlFdR) {
|
||||
close(nat->controlFdR);
|
||||
nat->controlFdR = 0;
|
||||
}
|
||||
if (nat->me) env->DeleteGlobalRef(nat->me);
|
||||
@@ -692,9 +698,10 @@ static void stopEventLoopNative(JNIEnv *env, jobject object) {
|
||||
nat->watchData = NULL;
|
||||
nat->pollDataSize = 0;
|
||||
nat->pollMemberCount = 0;
|
||||
shutdown(nat->controlFdW, SHUT_RDWR);
|
||||
|
||||
int fd = nat->controlFdW;
|
||||
nat->controlFdW = 0;
|
||||
nat->controlFdR = 0;
|
||||
close(fd);
|
||||
}
|
||||
pthread_mutex_unlock(&(nat->thread_mutex));
|
||||
#endif // HAVE_BLUETOOTH
|
||||
|
||||
Reference in New Issue
Block a user