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

Don't wait for signal if the object is already dying.

Better solution would be to make sure interface threads lock their object ALL THE TIME, except when waiting on its condition variable, so we do never "loose" condition signals. However, I am not sure if this would not result in a deadlock, should the interface need to lock another object (typically, playlist, input and/or vout).  Also, we would need to have all thread call vlc_thread_ready(), otherwise, we could also miss the signal if it happens right after the thread is created => this requires fixing every interface, except those that don't have a pf_run.
parent dbded71f
......@@ -159,7 +159,7 @@ vlc_bool_t __vlc_object_lock_and_wait( vlc_object_t *obj )
vlc_bool_t b;
vlc_object_lock( obj );
b = vlc_object_wait( obj );
b = obj->b_die ? VLC_TRUE : vlc_object_wait( obj );
vlc_object_unlock( obj );
return b;
}
......
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