diff --git a/include/ui/Fence.h b/include/ui/Fence.h index 81d5d0982..60156e7bb 100644 --- a/include/ui/Fence.h +++ b/include/ui/Fence.h @@ -70,9 +70,10 @@ public: // waitForever is a convenience function for waiting forever for a fence to // signal (just like wait(TIMEOUT_NEVER)), but issuing an error to the // system log and fence state to the kernel log if the wait lasts longer - // than warningTimeout. The logname argument should be a string identifying + // than a warning timeout. + // The logname argument should be a string identifying // the caller and will be included in the log message. - status_t waitForever(unsigned int warningTimeout, const char* logname); + status_t waitForever(const char* logname); // merge combines two Fence objects, creating a new Fence object that // becomes signaled when both f1 and f2 are signaled (even if f1 or f2 is diff --git a/libs/gui/BufferItemConsumer.cpp b/libs/gui/BufferItemConsumer.cpp index 90619ab16..7db1b8465 100644 --- a/libs/gui/BufferItemConsumer.cpp +++ b/libs/gui/BufferItemConsumer.cpp @@ -63,7 +63,7 @@ status_t BufferItemConsumer::acquireBuffer(BufferItem *item, bool waitForFence) } if (waitForFence) { - err = item->mFence->waitForever(1000, "BufferItemConsumer::acquireBuffer"); + err = item->mFence->waitForever("BufferItemConsumer::acquireBuffer"); if (err != OK) { BI_LOGE("Failed to wait for fence of acquired buffer: %s (%d)", strerror(-err), err); diff --git a/libs/gui/CpuConsumer.cpp b/libs/gui/CpuConsumer.cpp index 91af78dc6..054364997 100644 --- a/libs/gui/CpuConsumer.cpp +++ b/libs/gui/CpuConsumer.cpp @@ -80,7 +80,7 @@ status_t CpuConsumer::lockNextBuffer(LockedBuffer *nativeBuffer) { int buf = b.mBuf; if (b.mFence.get()) { - err = b.mFence->waitForever(1000, "CpuConsumer::lockNextBuffer"); + err = b.mFence->waitForever("CpuConsumer::lockNextBuffer"); if (err != OK) { CC_LOGE("Failed to wait for fence of acquired buffer: %s (%d)", strerror(-err), err); diff --git a/libs/gui/GLConsumer.cpp b/libs/gui/GLConsumer.cpp index 74876122e..344a93a32 100644 --- a/libs/gui/GLConsumer.cpp +++ b/libs/gui/GLConsumer.cpp @@ -821,7 +821,7 @@ status_t GLConsumer::doGLFenceWaitLocked() const { return UNKNOWN_ERROR; } } else { - status_t err = mCurrentFence->waitForever(1000, + status_t err = mCurrentFence->waitForever( "GLConsumer::doGLFenceWaitLocked"); if (err != NO_ERROR) { ST_LOGE("doGLFenceWait: error waiting for fence: %d", err); diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index 4a5802354..a616c1e41 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -113,7 +113,7 @@ int Surface::hook_dequeueBuffer_DEPRECATED(ANativeWindow* window, int fenceFd = -1; int result = c->dequeueBuffer(&buf, &fenceFd); sp fence(new Fence(fenceFd)); - int waitResult = fence->waitForever(1000, "dequeueBuffer_DEPRECATED"); + int waitResult = fence->waitForever("dequeueBuffer_DEPRECATED"); if (waitResult != OK) { ALOGE("dequeueBuffer_DEPRECATED: Fence::wait returned an error: %d", waitResult); @@ -734,7 +734,7 @@ status_t Surface::lock( sp backBuffer(GraphicBuffer::getSelf(out)); sp fence(new Fence(fenceFd)); - err = fence->waitForever(1000, "Surface::lock"); + err = fence->waitForever("Surface::lock"); if (err != OK) { ALOGE("Fence::wait failed (%s)", strerror(-err)); cancelBuffer(out, fenceFd); diff --git a/libs/ui/Fence.cpp b/libs/ui/Fence.cpp index b9e0f00fb..464ee86c8 100644 --- a/libs/ui/Fence.cpp +++ b/libs/ui/Fence.cpp @@ -54,11 +54,12 @@ status_t Fence::wait(unsigned int timeout) { return err < 0 ? -errno : status_t(NO_ERROR); } -status_t Fence::waitForever(unsigned int warningTimeout, const char* logname) { +status_t Fence::waitForever(const char* logname) { ATRACE_CALL(); if (mFenceFd == -1) { return NO_ERROR; } + unsigned int warningTimeout = 3000; int err = sync_wait(mFenceFd, warningTimeout); if (err < 0 && errno == ETIME) { ALOGE("%s: fence %d didn't signal in %u ms", logname, mFenceFd, diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp index 4e6dde531..5082192cf 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp +++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp @@ -747,7 +747,7 @@ int HWComposer::fbPost(int32_t id, if (mHwc && hwcHasApiVersion(mHwc, HWC_DEVICE_API_VERSION_1_1)) { return setFramebufferTarget(id, acquireFence, buffer); } else { - acquireFence->waitForever(1000, "HWComposer::fbPost"); + acquireFence->waitForever("HWComposer::fbPost"); return mFbDev->post(mFbDev, buffer->handle); } }