forked from enlightenment/efl
see comments for info. a short workaround for now.
SVN revision: 66258
This commit is contained in:
parent
94c73aee09
commit
94e5832ce8
|
@ -217,6 +217,7 @@ shutdown_evil:
|
|||
EAPI int
|
||||
ecore_shutdown(void)
|
||||
{
|
||||
Ecore_Pipe *p;
|
||||
/*
|
||||
* take a lock here because _ecore_event_shutdown() does callbacks
|
||||
*/
|
||||
|
@ -224,7 +225,15 @@ ecore_shutdown(void)
|
|||
if (--_ecore_init_count != 0)
|
||||
goto unlock;
|
||||
|
||||
ecore_pipe_del(_thread_call);
|
||||
/* this looks horrible - a hack for now, but something to note. as
|
||||
* we delete the _thread_call pipe a thread COULD be doing
|
||||
* ecore_pipe_write() or what not to it at the same time - we
|
||||
* must ensure all possible users of this _thread_call are finished
|
||||
* and exited before we delete it here */
|
||||
p = _thread_call;
|
||||
_thread_call = NULL;
|
||||
ecore_pipe_wait(p, 1, 0.1);
|
||||
ecore_pipe_del(p);
|
||||
eina_lock_free(&_thread_safety);
|
||||
eina_condition_free(&_thread_cond);
|
||||
eina_lock_free(&_thread_mutex);
|
||||
|
|
Loading…
Reference in New Issue