Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82d8b280 authored by Nick Pelly's avatar Nick Pelly Committed by Android Code Review
Browse files

Merge "Everytime Bluetooth was turned off two file descriptors were not closed"

parents 239750ff ed0d1ab2
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -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