diff options
Diffstat (limited to 'libs/ui/Fence.cpp')
-rw-r--r-- | libs/ui/Fence.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libs/ui/Fence.cpp b/libs/ui/Fence.cpp index bf24ffb7e0..7cf8233820 100644 --- a/libs/ui/Fence.cpp +++ b/libs/ui/Fence.cpp @@ -72,7 +72,7 @@ status_t Fence::waitForever(const char* logname) { return err < 0 ? -errno : status_t(NO_ERROR); } -sp<Fence> Fence::merge(const String8& name, const sp<Fence>& f1, +sp<Fence> Fence::merge(const char* name, const sp<Fence>& f1, const sp<Fence>& f2) { ATRACE_CALL(); int result; @@ -80,24 +80,29 @@ sp<Fence> Fence::merge(const String8& name, const sp<Fence>& f1, // valid fence (e.g. NO_FENCE) we merge the one valid fence with itself so // that a new fence with the given name is created. if (f1->isValid() && f2->isValid()) { - result = sync_merge(name.string(), f1->mFenceFd, f2->mFenceFd); + result = sync_merge(name, f1->mFenceFd, f2->mFenceFd); } else if (f1->isValid()) { - result = sync_merge(name.string(), f1->mFenceFd, f1->mFenceFd); + result = sync_merge(name, f1->mFenceFd, f1->mFenceFd); } else if (f2->isValid()) { - result = sync_merge(name.string(), f2->mFenceFd, f2->mFenceFd); + result = sync_merge(name, f2->mFenceFd, f2->mFenceFd); } else { return NO_FENCE; } if (result == -1) { status_t err = -errno; ALOGE("merge: sync_merge(\"%s\", %d, %d) returned an error: %s (%d)", - name.string(), f1->mFenceFd, f2->mFenceFd, + name, f1->mFenceFd, f2->mFenceFd, strerror(-err), err); return NO_FENCE; } return sp<Fence>(new Fence(result)); } +sp<Fence> Fence::merge(const String8& name, const sp<Fence>& f1, + const sp<Fence>& f2) { + return merge(name.string(), f1, f2); +} + int Fence::dup() const { return ::dup(mFenceFd); } |