Skip to content
Snippets Groups Projects
  • Richard Mudgett's avatar
    fbf8e04a
    chan_sip.c: Fix t38id deadlock potential. · fbf8e04a
    Richard Mudgett authored
    This patch is part of a series to resolve deadlocks in chan_sip.c.
    
    Stopping a scheduled event can result in a deadlock if the scheduled event
    is running when you try to stop the event.  If you hold a lock needed by
    the scheduled event while trying to stop the scheduled event then a
    deadlock can happen.  The general strategy for resolving the deadlock
    potential is to push the actual starting and stopping of the scheduled
    events off onto the scheduler/do_monitor() thread by scheduling an
    immediate one shot scheduled event.  Some restructuring may be needed
    because the code may assume that the start/stop of the scheduled events is
    immediate.
    
    ASTERISK-25023
    
    Change-Id: If595e4456cd059d7171880c7f354e844c21b5f5f
    fbf8e04a
    History
    chan_sip.c: Fix t38id deadlock potential.
    Richard Mudgett authored
    This patch is part of a series to resolve deadlocks in chan_sip.c.
    
    Stopping a scheduled event can result in a deadlock if the scheduled event
    is running when you try to stop the event.  If you hold a lock needed by
    the scheduled event while trying to stop the scheduled event then a
    deadlock can happen.  The general strategy for resolving the deadlock
    potential is to push the actual starting and stopping of the scheduled
    events off onto the scheduler/do_monitor() thread by scheduling an
    immediate one shot scheduled event.  Some restructuring may be needed
    because the code may assume that the start/stop of the scheduled events is
    immediate.
    
    ASTERISK-25023
    
    Change-Id: If595e4456cd059d7171880c7f354e844c21b5f5f