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

Commit c70bed01 authored by Jeff Brown's avatar Jeff Brown
Browse files

Flush Binder commands in ndk looper.

Bug: 3258183
Change-Id: I943808d6297a442b84ec95643e88ceb125f8c0c6
parent ca36d863
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -19,9 +19,11 @@

#include <android/looper.h>
#include <utils/Looper.h>
#include <binder/IPCThreadState.h>

using android::Looper;
using android::sp;
using android::IPCThreadState;

ALooper* ALooper_forThread() {
    return Looper::getForThread().get();
@@ -46,6 +48,7 @@ int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outDa
        return ALOOPER_POLL_ERROR;
    }

    IPCThreadState::self()->flushCommands();
    return looper->pollOnce(timeoutMillis, outFd, outEvents, outData);
}

@@ -56,6 +59,7 @@ int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outDat
        return ALOOPER_POLL_ERROR;
    }

    IPCThreadState::self()->flushCommands();
    return looper->pollAll(timeoutMillis, outFd, outEvents, outData);
}