Commit 8bf64ccc authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

threads: Make sure we vlc_thread_join() won't block when run from joined...

threads: Make sure we vlc_thread_join() won't block when run from joined thread using the pthread implementation.

Signed-off-by: Rémi Denis-Courmont
parent c5afed27
......@@ -834,8 +834,12 @@ void __vlc_thread_join( vlc_object_t *p_this, const char * psz_file, int i_line
i_ret = (B_OK == wait_for_thread( p_priv->thread_id, &exit_value ));
#elif defined( LIBVLC_USE_PTHREAD )
i_ret = pthread_join( p_priv->thread_id, NULL );
/* Make sure we do return if we are calling vlc_thread_join()
* from the joined thread */
if (pthread_equal (pthread_self (), p_priv->thread_id))
i_ret = pthread_detach (p_priv->thread_id);
else
i_ret = pthread_join (p_priv->thread_id, NULL);
#endif
if( i_ret )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment