summaryrefslogtreecommitdiff
path: root/channels/sip/include
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2016-03-07 18:28:58 -0600
committerRichard Mudgett <rmudgett@digium.com>2016-03-16 14:53:00 -0500
commitc5c7f48a15a17fcc29ff022223df5229ef9a003f (patch)
tree033b2e851c77a76d5c28544de9459ba3b9dc0cd5 /channels/sip/include
parentf959d84dfddb68532299a7669419f0b78286a75f (diff)
chan_sip.c: Fix provisional_keepalive_sched_id deadlock.
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: I98a694fd42bc81436c83aa92de03226e6e4e3f48
Diffstat (limited to 'channels/sip/include')
0 files changed, 0 insertions, 0 deletions