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

When killing libvlc, also kill all its immediate children

Not particularly clean, but we need to pass the exit request from libvlc
to the actual interfaces and inputs somehow...
parent 1502ec10
...@@ -449,6 +449,11 @@ void __vlc_object_destroy( vlc_object_t *p_this ) ...@@ -449,6 +449,11 @@ void __vlc_object_destroy( vlc_object_t *p_this )
void __vlc_object_kill( vlc_object_t *p_this ) void __vlc_object_kill( vlc_object_t *p_this )
{ {
vlc_mutex_lock( &p_this->object_lock ); vlc_mutex_lock( &p_this->object_lock );
if( p_this->i_object_type == VLC_OBJECT_LIBVLC )
for( int i = 0; i < p_this->i_children ; i++ )
vlc_object_kill( p_this->pp_children[i] );
p_this->b_die = VLC_TRUE; p_this->b_die = VLC_TRUE;
vlc_cond_signal( &p_this->object_wait ); vlc_cond_signal( &p_this->object_wait );
vlc_mutex_unlock( &p_this->object_lock ); vlc_mutex_unlock( &p_this->object_lock );
......
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