_e_explicit_sync_fd_set(fd, -1);
}
+static void
+_e_explicit_sync_fd_move(int *dst, int *src)
+{
+ if (dst == src) return;
+
+ _e_explicit_sync_fd_set(dst, *src);
+ *src = -1;
+}
+
static void
_e_explicit_sync_ec_acquire_fd_move(E_Client *ec, int *dst, int *src)
{
goto fail;
}
- _e_explicit_sync_ec_acquire_fd_move(explicit_sync_surface->ec,
- &explicit_sync_surface->pending_acquire_fence_fd,
- &fd);
+ _e_explicit_sync_fd_move(&explicit_sync_surface->pending_acquire_fence_fd, &fd);
EX_SYNC_TRACE("Explicit_Sync Surface:%p Set Acquire fence fd:%d",
explicit_sync_surface->ec, explicit_sync_surface, fd);
EX_SYNC_TRACE("Explicit_Sync Surface:%p Destroy", explicit_sync_surface->ec, explicit_sync_surface);
if (explicit_sync_surface->pending_acquire_fence_fd != -1)
- _e_explicit_sync_ec_acquire_fd_clear(explicit_sync_surface->ec, &explicit_sync_surface->pending_acquire_fence_fd);
+ _e_explicit_sync_fd_clear(&explicit_sync_surface->pending_acquire_fence_fd);
if (explicit_sync_surface->acquire_fence_fd != -1)
_e_explicit_sync_ec_acquire_fd_clear(explicit_sync_surface->ec, &explicit_sync_surface->acquire_fence_fd);