X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftdm_event_loop.c;h=29a97636fafd5cf7734b53754b0f4fd5036efaed;hb=02d2100670785551b95cde50a3cf0f0ee395031a;hp=c068c0936518b8bcd05cea43a450a23d6b98e53b;hpb=f2653134995c5a4b918eb1ed5ac09efb35acf77a;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/src/tdm_event_loop.c b/src/tdm_event_loop.c index c068c09..29a9763 100644 --- a/src/tdm_event_loop.c +++ b/src/tdm_event_loop.c @@ -75,7 +75,7 @@ _tdm_event_loop_main_fd_handler(int fd, tdm_event_loop_mask mask, void *user_dat private_loop = private_display->private_loop; - if (tdm_debug_thread) + if (tdm_debug_module & TDM_DEBUG_THREAD) TDM_INFO("backend fd(%d) event happens", private_loop->backend_fd); func_display = &private_display->func_display; @@ -149,9 +149,6 @@ tdm_event_loop_deinit(tdm_private_display *private_display) /* after tdm_thread_deinit, we don't worry about thread things because it's finalized */ tdm_thread_deinit(private_display->private_loop); - - - _pthread_mutex_unlock(&private_display->lock); tdm_server_deinit(private_display->private_loop); if (private_display->private_loop->backend_source) @@ -162,8 +159,6 @@ tdm_event_loop_deinit(tdm_private_display *private_display) free(private_display->private_loop); private_display->private_loop = NULL; - - _pthread_mutex_lock(&private_display->lock); } INTERN void @@ -230,7 +225,7 @@ tdm_event_loop_dispatch(tdm_private_display *private_display) TDM_RETURN_VAL_IF_FAIL(private_loop->wl_loop != NULL, TDM_ERROR_OPERATION_FAILED); - if (tdm_debug_thread) + if (tdm_debug_module & TDM_DEBUG_THREAD) TDM_INFO("dispatch"); if (tdm_thread_is_running() && @@ -384,6 +379,10 @@ _tdm_event_loop_timer_func(void *data) private_display = timer_source->private_display; + /* TDM event_loop function is actually for TDM backend module. When we call the + * backend's functions, we have to lock the mutex. TDM backend shouldn't consider + * mutex things. + */ _pthread_mutex_lock(&private_display->lock); timer_source->func(timer_source->user_data); _pthread_mutex_unlock(&private_display->lock);