From: Joonbum Ko Date: Thu, 4 Jun 2020 07:31:31 +0000 (+0900) Subject: fixed fd leak problem. X-Git-Tag: accepted/tizen/unified/20230227.042036~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a133a466b01f121ec073f56ac1d1b837e185885;p=platform%2Fupstream%2Fmesa.git fixed fd leak problem. Change-Id: I59e0b8c42f280582b0c0c25b2963786a3a5404d1 Signed-off-by: Joonbum Ko --- diff --git a/src/egl/drivers/dri2/platform_tizen.c b/src/egl/drivers/dri2/platform_tizen.c index 3792c83..b64e91d 100755 --- a/src/egl/drivers/dri2/platform_tizen.c +++ b/src/egl/drivers/dri2/platform_tizen.c @@ -186,6 +186,7 @@ tizen_internal_wait_sync_for_release_fence(struct dri2_egl_surface *dri2_surf, dri2_sync = calloc(1, sizeof(struct dri2_egl_sync)); if (!dri2_sync) { + close(release_fence_fd); return EGL_FALSE; } @@ -193,6 +194,7 @@ tizen_internal_wait_sync_for_release_fence(struct dri2_egl_surface *dri2_surf, EGL_SYNC_NATIVE_FENCE_TIZEN, attrib_list)) { free(dri2_sync); + close(release_fence_fd); return EGL_FALSE; } @@ -204,16 +206,14 @@ tizen_internal_wait_sync_for_release_fence(struct dri2_egl_surface *dri2_surf, if (!dri2_sync->fence) { free(dri2_sync); + close(release_fence_fd); return EGL_FALSE; } - if (p_atomic_dec_zero(&dri2_sync->refcount)) { - close(dri2_sync->base.SyncFd); - - if (dri2_sync->fence) - dri2_dpy->fence->destroy_fence(dri2_dpy->dri_screen, dri2_sync->fence); - free(dri2_sync); - } + close(dri2_sync->base.SyncFd); + if (dri2_sync->fence) + dri2_dpy->fence->destroy_fence(dri2_dpy->dri_screen, dri2_sync->fence); + free(dri2_sync); return EGL_TRUE; }