Changeset 05dc64af7e19036bbf6fa538345b5a2278a1d91f

Show
Ignore:
Timestamp:
03/23/08 01:15:54 (6 months ago)
Author:
Pierre d'Herbemont <pdherbemont@videolan.org>
git-committer:
Pierre d'Herbemont <pdherbemont@videolan.org> 1206231354 +0100
git-parent:

[dbdd540a2e2aefb8f572d199ddd1b850f9d97f11]

git-author:
Pierre d'Herbemont <pdherbemont@videolan.org> 1206231354 +0100
Message:

objects: Call vlc_object_join() automatically from vlc_object_destructor() if needed.
interaction: No need to call vlc_object_join() now.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/interface/interaction.c

    rdbdd540 r05dc64a  
    4848static void                     InteractionLoop( vlc_object_t * ); 
    4949static void                     InteractionManage( interaction_t * ); 
    50 static void interaction_Destructor( vlc_object_t *p_interaction ); 
    5150 
    5251static interaction_dialog_t    *DialogGetById( interaction_t* , int ); 
     
    384383    } 
    385384     
    386     vlc_object_set_destructor( p_interaction, interaction_Destructor ); 
    387  
    388385    return VLC_OBJECT( p_interaction ); 
    389 } 
    390  
    391 static void interaction_Destructor( vlc_object_t *p_interaction ) 
    392 { 
    393     vlc_thread_join( p_interaction ); 
    394386} 
    395387 
  • src/misc/objects.c

    rf0fbb2b r05dc64a  
    201201    p_priv->i_refcount = 1; 
    202202    p_priv->pf_destructor = kVLCDestructor; 
     203    p_priv->b_thread = VLC_FALSE; 
    203204    p_new->p_parent = NULL; 
    204205    p_new->pp_children = NULL; 
     
    419420    /* Send a kill to the object's thread if applicable */ 
    420421    vlc_object_kill( p_this ); 
     422 
     423    /* If we are running on a thread, wait until it ends */ 
     424    if( p_priv->b_thread ) 
     425        vlc_thread_join( p_this ); 
    421426 
    422427    /* Call the custom "subclass" destructor */