summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-09-04 19:44:03 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-09-05 14:15:40 +0200
commite41d46c635bdf769d4b93da609883347168c719a (patch)
treeecd10d772254d0e18b3c7c9a1a4e9e68bc9d736f
parent61381f6e3584118a70565eea79c355dd049b9e28 (diff)
downloadefl-e41d46c635bdf769d4b93da609883347168c719a.tar.gz
evas_thread: only join the thread if the thread is still alive
otherwise we might join a invalid thread id, that could lead to a deadlock. Lets not do that. ref T5245 @fix
-rw-r--r--src/lib/evas/common/evas_thread_render.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/evas/common/evas_thread_render.c b/src/lib/evas/common/evas_thread_render.c
index bbde81a657..62f0ba1577 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -260,8 +260,8 @@ evas_thread_shutdown(void)
goto timeout_shutdown;
}
}
-
- eina_thread_join(evas_thread_worker);
+ if (!evas_thread_exited)
+ eina_thread_join(evas_thread_worker);
timeout_shutdown:
eina_lock_free(&evas_thread_queue_lock);
eina_condition_free(&evas_thread_queue_condition);