Merged revisions 83179 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 19 Sep 2007 19:51:47 +0000 (19:51 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 19 Sep 2007 19:51:47 +0000 (19:51 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83179 | russell | 2007-09-19 14:50:48 -0500 (Wed, 19 Sep 2007) | 5 lines

The System() and TrySystem() applications can take a substantial amount of
time to execute while not servicing the channel.  So, put the channel in
autoservice while the command is being executed.
(closes issue #10726, reported by mnicholson)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83180 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_system.c

index b840028..ded110c 100644 (file)
@@ -79,6 +79,8 @@ static int system_exec_helper(struct ast_channel *chan, void *data, int failmode
                return failmode;
        }
 
+       ast_autoservice_start(chan);
+
        /* Do our thing here */
        res = ast_safe_system((char *)data);
        if ((res < 0) && (errno != ECHILD)) {
@@ -99,6 +101,8 @@ static int system_exec_helper(struct ast_channel *chan, void *data, int failmode
                res = 0;
        } 
 
+       ast_autoservice_stop(chan);
+
        return res;
 }