summaryrefslogtreecommitdiff
path: root/channels/sip/include
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2016-03-08 15:08:19 -0600
committerRichard Mudgett <rmudgett@digium.com>2016-03-16 14:44:51 -0500
commit02458cc6fdc76c3782e2d657f7d11bd866513efd (patch)
tree293a5947e2d3bfa908c9f9aab9df95c451c10547 /channels/sip/include
parent69810b306df0f311acf550653e5ba9e2c24e2963 (diff)
chan_sip.c: Fix session timers 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: I6d65269151ba95e0d8fe4e9e611881cde2ab4900
Diffstat (limited to 'channels/sip/include')
-rw-r--r--channels/sip/include/sip.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h
index d60f49ecb..c8854b58e 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -959,7 +959,6 @@ struct sip_st_dlg {
int st_cached_max_se; /*!< Session-Timers cached Session-Expires */
enum st_mode st_cached_mode; /*!< Session-Timers cached M.O. */
enum st_refresher st_cached_ref; /*!< Session-Timers session refresher */
- unsigned char quit_flag:1; /*!< Stop trying to lock; just quit */
};