Skip to content
Snippets Groups Projects
  • Kevin Harwell's avatar
    27dae55f
    core_local: local channel data not being properly unref'ed and unlocked · 27dae55f
    Kevin Harwell authored
    In an earlier version of Asterisk a local channel [un]lock all functions were
    added in order to keep a crash from occurring when a channel hung up too early
    during an attended transfer. Unfortunately, when a transfer failure occurs and
    depending on the timing, the local channels sometime do not get properly
    unlocked and deref'ed after being locked and ref'ed. This happens because the
    underlying local channel structure gets NULLed out before unlocking.
    
    This patch reworks those [un]lock functions and makes sure the values that get
    locked and ref'ed later get unlocked and deref'ed.
    
    ASTERISK-27074 #close
    
    Change-Id: Ice96653e29bd9d6674ed5f95feb6b448ab148b09
    27dae55f
    History
    core_local: local channel data not being properly unref'ed and unlocked
    Kevin Harwell authored
    In an earlier version of Asterisk a local channel [un]lock all functions were
    added in order to keep a crash from occurring when a channel hung up too early
    during an attended transfer. Unfortunately, when a transfer failure occurs and
    depending on the timing, the local channels sometime do not get properly
    unlocked and deref'ed after being locked and ref'ed. This happens because the
    underlying local channel structure gets NULLed out before unlocking.
    
    This patch reworks those [un]lock functions and makes sure the values that get
    locked and ref'ed later get unlocked and deref'ed.
    
    ASTERISK-27074 #close
    
    Change-Id: Ice96653e29bd9d6674ed5f95feb6b448ab148b09