Commit a417ec82 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Warn in case of dangerous thread join patterns

parent 17e4415c
......@@ -301,7 +301,12 @@ static void vlc_object_destroy( vlc_object_t *p_this )
/* If we are running on a thread, wait until it ends */
if( p_priv->b_thread )
msg_Warn (p_this->p_libvlc, /* do NOT use a dead object for logging! */
"object %d destroyed while thread alive (VLC might crash)",
vlc_thread_join( p_this );
/* Call the custom "subclass" destructor */
if( p_priv->pf_destructor )
......@@ -695,7 +695,10 @@ void __vlc_thread_join( vlc_object_t *p_this, const char * psz_file, int i_line
/* 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))
msg_Warn (p_this, "joining the active thread (VLC might crash)");
i_ret = pthread_detach (p_priv->thread_id);
i_ret = pthread_join (p_priv->thread_id, NULL);
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