diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-25 22:29:53 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-25 22:29:53 +0000 |
commit | 50e8c4ec44e31c9bd28d3c8ffd1359e451fd76d1 (patch) | |
tree | 34994b63350c31aafe501ee7148b038d31aac9d2 /channels/chan_zap.c | |
parent | 23191332068de35eb069c2f0190c4989939a4e0b (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.4@61914 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_zap.c')
-rw-r--r-- | channels/chan_zap.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 3ceec72ab..3a8301c5e 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -5402,6 +5402,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); |