summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-04-03 15:18:41 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-04-03 15:18:41 -0400
commitd374452d37579880658eb092b6680e0ade257036 (patch)
tree7cf03745f917936aceba2ea8c740f5f14ed068b0
parent7fe52c55cfd3ef95801e166cbbf387ad016dcd90 (diff)
ecore: poll the thread pipe twice during shutdown
this resolves a race condition when a thread join was pending during shutdown but a pipe write was needed in order for the join to be successfully executed before shutdown had occurred @fix
-rw-r--r--src/lib/ecore/ecore.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index a7a4850f67..dce0b55a8f 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -424,6 +424,7 @@ ecore_shutdown(void)
424 * It should be fine now as we do wait for thread to shutdown before 424 * It should be fine now as we do wait for thread to shutdown before
425 * we try to destroy the pipe. 425 * we try to destroy the pipe.
426 */ 426 */
427 _ecore_pipe_wait(_thread_call, 1, 0.1);
427 p = _thread_call; 428 p = _thread_call;
428 _thread_call = NULL; 429 _thread_call = NULL;
429 _ecore_pipe_wait(p, 1, 0.1); 430 _ecore_pipe_wait(p, 1, 0.1);