Skip to content
Snippets Groups Projects
  • Joshua Colp's avatar
    85e1cb51
    sched: ast_sched_del may return prematurely due to spurious wakeup · 85e1cb51
    Joshua Colp authored
    When deleting a scheduled item if the item in question is currently
    executing the ast_sched_del function waits until it has completed.
    This is accomplished using ast_cond_wait. Unfortunately the
    ast_cond_wait function can suffer from spurious wakeups so the
    predicate needs to be checked after it returns to make sure it has
    really woken up as a result of being signaled.
    
    This change adds a loop around the ast_cond_wait to make sure that
    it only exits when the executing task has really completed.
    
    ASTERISK-25355 #close
    
    Change-Id: I51198270eb0b637c956c61aa409f46283432be61
    85e1cb51
    History
    sched: ast_sched_del may return prematurely due to spurious wakeup
    Joshua Colp authored
    When deleting a scheduled item if the item in question is currently
    executing the ast_sched_del function waits until it has completed.
    This is accomplished using ast_cond_wait. Unfortunately the
    ast_cond_wait function can suffer from spurious wakeups so the
    predicate needs to be checked after it returns to make sure it has
    really woken up as a result of being signaled.
    
    This change adds a loop around the ast_cond_wait to make sure that
    it only exits when the executing task has really completed.
    
    ASTERISK-25355 #close
    
    Change-Id: I51198270eb0b637c956c61aa409f46283432be61