[vlc-devel] RE : commit: a missing module_unneed is added (Windowsand MacOS ports) ( Erwan Tulou )
Derk-Jan Hartman
hartman at videolan.org
Mon Jun 22 22:14:08 CEST 2009
On 22 jun 2009, at 21:28, Rémi Denis-Courmont wrote:
> Le lundi 22 juin 2009 22:06:33 brezhoneg1, vous avez écrit :
>>> Uh, please unload BEFORE detaching, otherwise pf_close cannot use
>>> var_CreateGet*().
>>
>> Okay, I can do it.
>>
>> Just one point, wouldn't it be better to simply remove this block
>> (module_unneed, vlc_object_detach, vlc_object_release)?
>>
>> At this point in the code, the playlist is not yet deactivated and an
>> input may still be running. Fully releasing the interface may lead to
>> problems with a vout thread.
>
> That seems like a good point (I don't use any of the affected
> platforms).
> We already do that in 1.1, I think/hope.
>
>> In addition, by just removing them in this part of the code, they
>> will
>> "naturally" be called later on in the termination process (in the
>> loop
>> releasing all interfaces after the playlist is deactivated).
>>
>> I tested it successfully on Windows(skins). But, MacOS devs also
>> need to
>> agree on this.
>>
>> Your advice ?
>
> Fine with me, but I cannot test anyway.
Tested the following, which I based on master, and it seemed to have
no adverse affects.
diff --git a/src/interface/interface.c b/src/interface/interface.c
index 284e38f..0f258da 100644
--- a/src/interface/interface.c
+++ b/src/interface/interface.c
@@ -141,15 +141,8 @@ int intf_RunThread( intf_thread_t *p_intf )
RunInterface( VLC_OBJECT(p_intf) );
/* Make sure our MonitorLibVLCDeath thread exit */
- vlc_object_kill( p_intf );
/* It is monitoring libvlc, not the p_intf */
vlc_object_kill( p_intf->p_libvlc );
- vlc_thread_join( p_intf );
-
- vlc_object_detach( p_intf );
- if( p_intf->p_module )
- module_unneed( p_intf, p_intf->p_module );
- vlc_object_release( p_intf );
return VLC_SUCCESS;
}
#endif
More information about the vlc-devel
mailing list