tdm_server: check timeout flag and vblank_info in timeout callback
[platform/core/uifw/libtdm.git] / src / tdm_server.c
index 76bae78..31ddf14 100644 (file)
@@ -218,9 +218,12 @@ _tdm_server_timeout_timer_cb(void *user_data)
        tv_usec = TDM_TIME_USEC(curr);
 
        LIST_FOR_EACH_ENTRY(wait_info, &keep_private_server->wait_list, link) {
+               if (wait_info->timeout) continue;
+               if (vblank_info != wait_info->vblank_info) continue;
+
                wl_tdm_vblank_send_done(vblank_info->resource, wait_info->req_id,
                                                                0, tv_sec, tv_usec, TDM_ERROR_TIMEOUT);
-               TDM_ERR("tdm_server_vblank(%p) req_id(%d) timeout force send vblank", vblank_info);
+               TDM_ERR("tdm_server_vblank(%p) req_id(%d) timeout force send vblank", vblank_info, wait_info->req_id);
                wait_info->timeout = 1;
        }