Changeset 21702e21867f9c7134865397eb6e19e994636149

Show
Ignore:
Timestamp:
05/30/08 17:54:03 (3 months ago)
Author:
Pierre d'Herbemont <pdherbemont@videolan.org>
git-committer:
Pierre d'Herbemont <pdherbemont@videolan.org> 1212162843 +0200
git-parent:

[449e70599ee029f1b11155e4e9da3ee09e4108bb]

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

playlist: Make sure fetcher and preparser won't miss a vlc_object_kill().

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/playlist/engine.c

    rbc35aea r21702e2  
    484484    int i_activity; 
    485485 
    486     while( !p_playlist->b_die ) 
    487     { 
    488         vlc_object_lock( p_obj ); 
     486    vlc_object_lock( p_obj ); 
     487 
     488    while( vlc_object_alive( p_obj ) ) 
     489    { 
    489490        while( p_obj->i_waiting == 0 ) 
    490491        { 
     
    557558        /* Sleep at least 1ms */ 
    558559        msleep( (i_activity+1) * 1000 ); 
    559     } 
     560        vlc_object_lock( p_obj ); 
     561    } 
     562    vlc_object_unlock( p_obj ); 
    560563} 
    561564 
     
    573576    int i_activity; 
    574577 
    575     while( !p_playlist->b_die ) 
    576     { 
    577         vlc_mutex_lock( &p_obj->object_lock ); 
     578    vlc_mutex_lock( &p_obj->object_lock ); 
     579 
     580    while( vlc_object_alive( p_obj ) ) 
     581    { 
    578582        while( p_obj->i_waiting == 0 ) 
    579583        { 
    580             vlc_cond_wait( &p_obj->object_wait, &p_obj->object_lock ); 
    581             if( p_playlist->b_die ) 
     584            if( vlc_object_wait( p_obj ) || p_playlist->b_die ) 
    582585            { 
    583586                vlc_mutex_unlock( &p_obj->object_lock ); 
     
    639642        /* Sleep at least 1ms */ 
    640643        msleep( (i_activity+1) * 1000 ); 
    641     } 
     644        vlc_mutex_lock( &p_obj->object_lock ); 
     645    } 
     646    vlc_mutex_unlock( &p_obj->object_lock ); 
    642647} 
    643648