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

Commit 7c4bb95a authored by Shuzhen Wang's avatar Shuzhen Wang Committed by Automerger Merge Worker
Browse files

Camera: VTS: Fix fence fd double close am: 3ad137ed am: 26034794

parents 57cccf0c 26034794
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ void CameraAidlTest::waitForReleaseFence(
        const native_handle_t* releaseFenceHandle = bufferAndTimestamp.buffer.releaseFence;
        if (releaseFenceHandle != nullptr && releaseFenceHandle->numFds == 1 &&
            releaseFenceHandle->data[0] >= 0) {
            releaseFence = new android::Fence(releaseFenceHandle->data[0]);
            releaseFence = new android::Fence(dup(releaseFenceHandle->data[0]));
        }
        if (releaseFence && releaseFence->isValid()) {
            releaseFence->wait(/*ms*/ 300);
+14 −0
Original line number Diff line number Diff line
@@ -481,6 +481,20 @@ class CameraAidlTest : public ::testing::TestWithParam<std::string> {
              hasInputBuffer(hasInput),
              collectedResult(1, 10),
              expectedPhysicalResults(extraPhysicalResult) {}

        ~InFlightRequest() {
            for (auto& buffer : resultOutputBuffers) {
                native_handle_t* acquireFenceHandle = const_cast<native_handle_t*>(
                        buffer.buffer.acquireFence);
                native_handle_close(acquireFenceHandle);
                native_handle_delete(acquireFenceHandle);

                native_handle_t* releaseFenceHandle = const_cast<native_handle_t*>(
                        buffer.buffer.releaseFence);
                native_handle_close(releaseFenceHandle);
                native_handle_delete(releaseFenceHandle);
            }
        }
    };

    static bool matchDeviceName(const std::string& deviceName, const std::string& providerType,
+2 −2
Original line number Diff line number Diff line
@@ -428,8 +428,8 @@ bool DeviceCb::processCaptureResultLocked(
                                           bufferId,
                                           outputBuffer,
                                           buffer.status,
                                           ::android::makeFromAidl(buffer.acquireFence),
                                           ::android::makeFromAidl(buffer.releaseFence)};
                                           ::android::dupFromAidl(buffer.acquireFence),
                                           ::android::dupFromAidl(buffer.releaseFence)};
        streamBufferAndTimestamp.timeStamp = systemTime();
        request->resultOutputBuffers.push_back(streamBufferAndTimestamp);
    }