asterisk/channels/sip
Richard Mudgett 72c444ba37 chan_sip.c: Fix registration timeout and expire deadlock potential.
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: I2e40de89efc8ae6e8850771d089ca44bc604b508
2016-03-16 14:44:52 -05:00
..
include chan_sip.c: Fix registration timeout and expire deadlock potential. 2016-03-16 14:44:52 -05:00
config_parser.c Audit improper usage of scheduler exposed by 5c713fdf18. 2015-12-01 13:54:04 -06:00
dialplan_functions.c sip/dialplan_functions.c: Fix /channels/chan_sip/test_sip_rtpqos crash. 2016-03-16 14:22:19 -05:00
reqresp_parser.c chan_sip: Fix port parsing for IPv6 addresses in SIP Via headers. 2015-10-06 16:34:34 -05:00
route.c git migration: Refactor the ASTERISK_FILE_VERSION macro 2015-04-13 03:48:57 -04:00
security_events.c chan_sip.c: wrong peer searched in sip_report_security_event 2015-08-13 15:01:58 -05:00
utils.c chan_sip: Mark chan_sip and its files as extended support 2014-08-08 17:53:39 +00:00