Merge "Avoid closing invalid FD in Surface and GraphicBufferMapper"
This commit is contained in:
commit
f0c17b0831
@ -131,8 +131,10 @@ status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle,
|
|||||||
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
||||||
vaddr, fenceFd);
|
vaddr, fenceFd);
|
||||||
} else {
|
} else {
|
||||||
|
if (fenceFd >= 0) {
|
||||||
sync_wait(fenceFd, -1);
|
sync_wait(fenceFd, -1);
|
||||||
close(fenceFd);
|
close(fenceFd);
|
||||||
|
}
|
||||||
err = mAllocMod->lock(mAllocMod, handle, static_cast<int>(usage),
|
err = mAllocMod->lock(mAllocMod, handle, static_cast<int>(usage),
|
||||||
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
||||||
vaddr);
|
vaddr);
|
||||||
@ -154,8 +156,10 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle,
|
|||||||
static_cast<int>(usage), bounds.left, bounds.top,
|
static_cast<int>(usage), bounds.left, bounds.top,
|
||||||
bounds.width(), bounds.height(), ycbcr, fenceFd);
|
bounds.width(), bounds.height(), ycbcr, fenceFd);
|
||||||
} else if (mAllocMod->lock_ycbcr != NULL) {
|
} else if (mAllocMod->lock_ycbcr != NULL) {
|
||||||
|
if (fenceFd >= 0) {
|
||||||
sync_wait(fenceFd, -1);
|
sync_wait(fenceFd, -1);
|
||||||
close(fenceFd);
|
close(fenceFd);
|
||||||
|
}
|
||||||
err = mAllocMod->lock_ycbcr(mAllocMod, handle, static_cast<int>(usage),
|
err = mAllocMod->lock_ycbcr(mAllocMod, handle, static_cast<int>(usage),
|
||||||
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
bounds.left, bounds.top, bounds.width(), bounds.height(),
|
||||||
ycbcr);
|
ycbcr);
|
||||||
|
Loading…
Reference in New Issue
Block a user