diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 19:51:47 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-19 19:51:47 +0000 |
commit | 50579ca209ebe78f963911c6c83e748fb2930777 (patch) | |
tree | 6eafe664e91f99459675a4222b3e7c1da165ccdd /apps/app_system.c | |
parent | 3fdcabda2be971c98f10c8a5b4a54abcecc77018 (diff) |
Merged revisions 83179 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@83180 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_system.c')
-rw-r--r-- | apps/app_system.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/app_system.c b/apps/app_system.c index b840028a9..ded110cae 100644 --- a/apps/app_system.c +++ b/apps/app_system.c @@ -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; } |