change input param's type
[platform/core/uifw/libtdm.git] / src / tdm_event_loop.c
index a9da07c..d1eb6ea 100644 (file)
@@ -182,7 +182,7 @@ tdm_event_loop_create_backend_source(tdm_private_display *private_display)
 
        ret = func_display->display_get_fd(private_display->bdata, &fd);
        if (fd < 0) {
-               TDM_WRN("TDM backend module returns fd(%d)", fd);
+               TDM_ERR("TDM backend module returns fd(%d)", fd);
                return;
        }
 
@@ -230,6 +230,12 @@ tdm_event_loop_dispatch(tdm_private_display *private_display)
        if (tdm_debug_thread)
                TDM_INFO("dispatch");
 
+       if (tdm_thread_is_running() &&
+           tdm_thread_in_display_thread(syscall(SYS_gettid))) {
+               TDM_NEVER_GET_HERE();
+               return TDM_ERROR_OPERATION_FAILED;
+       }
+
        /* Don't set timeout to -1. It can make deadblock by two mutex locks.
         * If need to set -1, use poll() and call tdm_event_loop_dispatch() after
         * escaping polling.
@@ -237,6 +243,8 @@ tdm_event_loop_dispatch(tdm_private_display *private_display)
        if (wl_event_loop_dispatch(private_loop->wl_loop, 0) < 0)
                TDM_ERR("dispatch failed");
 
+       wl_display_flush_clients(private_loop->wl_display);
+
        return TDM_ERROR_NONE;
 }
 
@@ -250,6 +258,12 @@ tdm_event_loop_flush(tdm_private_display *private_display)
 
        TDM_RETURN_IF_FAIL(private_loop->wl_display != NULL);
 
+       if (tdm_thread_is_running() &&
+           tdm_thread_in_display_thread(syscall(SYS_gettid))) {
+               TDM_NEVER_GET_HERE();
+               return;
+       }
+
        wl_display_flush_clients(private_loop->wl_display);
 }
 
@@ -416,7 +430,7 @@ tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler
 }
 
 EXTERN tdm_error
-tdm_event_loop_source_timer_update(tdm_event_loop_source *source, int ms_delay)
+tdm_event_loop_source_timer_update(tdm_event_loop_source *source, unsigned int ms_delay)
 {
        tdm_event_loop_source_timer *timer_source = source;