summaryrefslogtreecommitdiff
path: root/channels/chan_zap.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2007-04-25 22:34:58 +0000
committerKevin P. Fleming <kpfleming@digium.com>2007-04-25 22:34:58 +0000
commitee95074173c138b95f49e176c6c7f671032517f3 (patch)
tree3ac5d6a172351fd3a249d635b2ee07ea4745e27d /channels/chan_zap.c
parentdc7514a746e3fa64082421f769f2fb9589c5ab00 (diff)
Merged revisions 61914 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r61914 | kpfleming | 2007-04-25 17:29:53 -0500 (Wed, 25 Apr 2007) | 10 lines Merged revisions 61913 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r61913 | kpfleming | 2007-04-25 17:24:59 -0500 (Wed, 25 Apr 2007) | 2 lines handle a very bizarre race condition with channels being redirected before a simple switch can be started on them (issue #9286) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_zap.c')
-rw-r--r--channels/chan_zap.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index f401b85e2..93b01d405 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -5744,6 +5744,15 @@ static void *ss_thread(void *data)
int res;
int index;
+ /* in the bizarre case where the channel has become a zombie before we
+ even get started here, abort safely
+ */
+ if (!p) {
+ ast_log(LOG_WARNING, "Channel became a zombie before simple switch could be started (%s)\n", chan->name);
+ ast_hangup(chan);
+ return NULL;
+ }
+
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "Starting simple switch on '%s'\n", chan->name);
index = zt_get_index(chan, p, 1);