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:
Russell Bryant
2007-08-01 15:39:54 +00:00
parent 96b96a5f72
commit 4e0947c5f1
12 changed files with 25 additions and 25 deletions

View File

@@ -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;
}

View File

@@ -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;