[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