mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Convert code that checks the _softhangup member of ast_channel directory to use
the ast_check_hangup() funciton. This function takes scheduled hangups into account. (closes issue #10230, patch by Juggie) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -71,7 +71,7 @@ static void *autoservice_run(void *ign)
|
||||
|
||||
AST_RWLIST_RDLOCK(&aslist);
|
||||
AST_RWLIST_TRAVERSE(&aslist, as, list) {
|
||||
if (!as->chan->_softhangup) {
|
||||
if (!ast_check_hangup(as->chan)) {
|
||||
if (x < MAX_AUTOMONS)
|
||||
mons[x++] = as->chan;
|
||||
else
|
||||
@@ -137,7 +137,7 @@ int ast_autoservice_stop(struct ast_channel *chan)
|
||||
if (as->chan == chan) {
|
||||
AST_RWLIST_REMOVE_CURRENT(&aslist, list);
|
||||
ast_free(as);
|
||||
if (!chan->_softhangup)
|
||||
if (!ast_check_hangup(chan))
|
||||
res = 0;
|
||||
break;
|
||||
}
|
||||
|
@@ -2418,7 +2418,7 @@ static int __ast_pbx_run(struct ast_channel *c)
|
||||
/* If the AbsoluteTimeout is not reset to 0, we'll get an infinite loop */
|
||||
c->whentohangup = 0;
|
||||
c->_softhangup &= ~AST_SOFTHANGUP_TIMEOUT;
|
||||
} else if (c->_softhangup) {
|
||||
} else if (ast_check_hangup(c)) {
|
||||
ast_debug(1, "Extension %s, priority %d returned normally even though call was hung up\n",
|
||||
c->exten, c->priority);
|
||||
error = 1;
|
||||
|
Reference in New Issue
Block a user