Skip to content
Snippets Groups Projects
  • Richard Mudgett's avatar
    0987a11c
    sip/dialplan_functions.c: Fix /channels/chan_sip/test_sip_rtpqos crash. · 0987a11c
    Richard Mudgett authored
    This patch is part of a series to resolve deadlocks in chan_sip.c.
    
    Delaying destruction of the chan_sip sip_pvt structures caused the
    /channels/chan_sip/test_sip_rtpqos unit test to crash.  That test
    registers a special test ast_rtp_engine with the rtp engine module.  When
    the unit test completes it cleans up by unregistering the test
    ast_rtp_engine and exits.  Since the delayed destruction of the sip_pvt
    happens after the unit test returns, the destructor tries to call the rtp
    engine destroy callback of the test ast_rtp_engine auto variable which no
    longer exists on the stack.
    
    * Change the test ast_rtp_engine auto variable to a static variable.  Now
    the variable can still exist after the unit test exits so the delayed
    sip_pvt destruction can complete successfully.
    
    ASTERISK-25023
    
    Change-Id: I61e34a12d425189ef7e96fc69ae14993f82f3f13
    0987a11c
    History
    sip/dialplan_functions.c: Fix /channels/chan_sip/test_sip_rtpqos crash.
    Richard Mudgett authored
    This patch is part of a series to resolve deadlocks in chan_sip.c.
    
    Delaying destruction of the chan_sip sip_pvt structures caused the
    /channels/chan_sip/test_sip_rtpqos unit test to crash.  That test
    registers a special test ast_rtp_engine with the rtp engine module.  When
    the unit test completes it cleans up by unregistering the test
    ast_rtp_engine and exits.  Since the delayed destruction of the sip_pvt
    happens after the unit test returns, the destructor tries to call the rtp
    engine destroy callback of the test ast_rtp_engine auto variable which no
    longer exists on the stack.
    
    * Change the test ast_rtp_engine auto variable to a static variable.  Now
    the variable can still exist after the unit test exits so the delayed
    sip_pvt destruction can complete successfully.
    
    ASTERISK-25023
    
    Change-Id: I61e34a12d425189ef7e96fc69ae14993f82f3f13