aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-01 15:39:54 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-01 15:39:54 +0000
commitb3ceaa6a9ef31d084b0eb8cfa4717cebfe9298ed (patch)
tree8669ddf483350f2bd54e6b146d9a2a5a56e9c141 /main
parentb7bc7c5b5e8f9db94219fee0037f12d0b8a86b15 (diff)
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: http://svn.digium.com/svn/asterisk/trunk@77858 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/autoservice.c4
-rw-r--r--main/pbx.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/main/autoservice.c b/main/autoservice.c
index 029555abd..9f175bc79 100644
--- a/main/autoservice.c
+++ b/main/autoservice.c
@@ -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;
}
diff --git a/main/pbx.c b/main/pbx.c
index 34b3eeeb9..419523db9 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -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;