Ignore:
Timestamp:
Jan 8, 2018 3:20:34 AM (4 years ago)
Author:
ming
Message:

Fixed #2079: Crash in pjsip due to race condition in account's keep alive timer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjlib/src/pj/timer.c

    r5682 r5720  
    630630    { 
    631631        pj_timer_entry *node = remove_node(ht, 0); 
     632        /* Avoid re-use of this timer until the callback is done. */ 
     633        pj_timer_id_t node_timer_id = pop_freelist(ht); 
    632634        pj_grp_lock_t *grp_lock; 
    633635 
     
    648650 
    649651        lock_timer_heap(ht); 
     652        /* Now, the timer is really free for re-use. */ 
     653        push_freelist(ht, node_timer_id); 
    650654    } 
    651655    if (ht->cur_size && next_delay) { 
Note: See TracChangeset for help on using the changeset viewer.