Ignore ECHILD in app_system
authorMark Spencer <markster@digium.com>
Fri, 27 Feb 2004 06:56:08 +0000 (06:56 +0000)
committerMark Spencer <markster@digium.com>
Fri, 27 Feb 2004 06:56:08 +0000 (06:56 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2266 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_system.c

index 3378602..47f16a8 100755 (executable)
@@ -53,13 +53,15 @@ static int system_exec(struct ast_channel *chan, void *data)
        LOCAL_USER_ADD(u);
        /* Do our thing here */
        res = system((char *)data);
-       if (res < 0) {
+       if ((res < 0) && (errno != ECHILD)) {
                ast_log(LOG_WARNING, "Unable to execute '%s'\n", (char *)data);
                res = -1;
        } else if (res == 127) {
                ast_log(LOG_WARNING, "Unable to execute '%s'\n", (char *)data);
                res = -1;
        } else {
+               if (res < 0)
+                       res = 0;
                if (res && ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 101, chan->callerid)) 
                        chan->priority+=100;
                res = 0;