+ /* Tell the interfaces to die */
+ for( intf_thread_t *p_intf = p_first; p_intf; p_intf = p_intf->p_next )
+ vlc_object_kill( p_intf );
+
+ /* Cleanup the interfaces */
+ for( intf_thread_t *p_intf = p_first; p_intf != NULL; )
+ {
+ intf_thread_t *p_next = p_intf->p_next;
+
+ if( p_intf->pf_run )
+ vlc_thread_join( p_intf );
+ module_unneed( p_intf, p_intf->p_module );
+ free( p_intf->psz_intf );
+ config_ChainDestroy( p_intf->p_cfg );
+ vlc_object_release( p_intf );
+
+ p_intf = p_next;
+ }