thread: reset find_funcs table when init, deinit 28/170628/1
authorBoram Park <boram1288.park@samsung.com>
Wed, 21 Feb 2018 05:36:52 +0000 (14:36 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 21 Feb 2018 05:39:58 +0000 (14:39 +0900)
Change-Id: I20f572f7dd6014daf0ee02a656f188c3d89d5900

src/tdm_thread.c

index cf76c82..30966b4 100644 (file)
@@ -185,7 +185,7 @@ tdm_thread_init(tdm_private_loop *private_loop)
 {
        tdm_private_display *private_display;
        tdm_private_thread *private_thread;
-       int thread;
+       int thread, i;
 
        TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED);
        TDM_RETURN_VAL_IF_FAIL(private_loop->dpy, TDM_ERROR_OPERATION_FAILED);
@@ -193,6 +193,9 @@ tdm_thread_init(tdm_private_loop *private_loop)
        private_display = private_loop->dpy;
        TDM_RETURN_VAL_IF_FAIL(private_display->private_loop, TDM_ERROR_OPERATION_FAILED);
 
+       for (i = 0; i < TDM_THREAD_CB_MAX; i++)
+               find_funcs[i] = NULL;
+
        LIST_INITHEAD(&cb_list);
 
        if (private_loop->private_thread)
@@ -267,6 +270,9 @@ tdm_thread_deinit(tdm_private_loop *private_loop)
 
        TDM_RETURN_IF_FAIL(TDM_MUTEX_IS_LOCKED());
 
+       for (i = 0; i < TDM_THREAD_CB_MAX; i++)
+               find_funcs[i] = NULL;
+
        if (!private_loop->private_thread)
                return;
 
@@ -305,9 +311,6 @@ tdm_thread_deinit(tdm_private_loop *private_loop)
        private_loop->private_thread = NULL;
        keep_private_thread = NULL;
 
-       for (i = 0; i < TDM_THREAD_CB_MAX; i++)
-               find_funcs[i] = NULL;
-
        TDM_INFO("Finish a TDM event thread");
 }