Changeset bd054d30866ab0144e0b0582e249184a8ea6506f

Show
Ignore:
Timestamp:
06/12/08 21:01:16 (3 months ago)
Author:
Rémi Denis-Courmont <rdenis@simphalempin.com>
git-committer:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1213297276 +0300
git-parent:

[bff9720dbec39d193e25cea5defee42da464ca92]

git-author:
Rémi Denis-Courmont <rdenis@simphalempin.com> 1213297276 +0300
Message:

Remove services discovery tasks before the playlist

I assume nothing can ever try to add a new one once the interfaces have
been destroyed. If not there is a race condition.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/libvlc.c

    r446bfcd rbd054d3  
    950950    } 
    951951#endif 
     952 
     953    /* Remove all services discovery */ 
     954    msg_Dbg( p_libvlc, "removing all services discovery tasks" ); 
     955    playlist_ServicesDiscoveryKillAll( priv->p_playlist ); 
    952956 
    953957    /* Free playlist */ 
  • src/libvlc.h

    r65892ac rbd054d3  
    247247    return (libvlc_priv_t *)(libvlc + 1); 
    248248} 
     249 
     250void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist ); 
    249251 
    250252#define libvlc_stats( o ) (libvlc_priv((VLC_OBJECT(o))->p_libvlc)->b_stats) 
  • src/playlist/engine.c

    rbff9720 rbd054d3  
    420420#endif 
    421421 
    422     while( p_playlist->i_sds ) 
    423     { 
    424         playlist_ServicesDiscoveryRemove( p_playlist, 
    425                                           p_playlist->pp_sds[0]->p_sd->psz_module ); 
    426     } 
    427  
     422    /* Core should have terminated all SDs before the playlist */ 
     423    assert( p_playlist->i_sds == 0 ); 
    428424    playlist_MLDump( p_playlist ); 
    429425 
  • src/playlist/services_discovery.c

    rca12c6b rbd054d3  
    431431} 
    432432 
     433void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist ) 
     434{ 
     435    while( p_playlist->i_sds > 0 ) 
     436        playlist_ServicesDiscoveryRemove( p_playlist, 
     437                                     p_playlist->pp_sds[0]->p_sd->psz_module ); 
     438} 
     439