aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_musiconhold.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-27 17:39:31 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-10-27 17:39:31 +0000
commit83e66fa60070ea934061f173f1db6d95e461a124 (patch)
treefc7fdf041e5accbca6bc15a56bd5aa9ce6b9a402 /res/res_musiconhold.c
parent5cf507d56d6089e6b63eb0780089e797ccff008e (diff)
We should always be using _exit() after a fork() or vfork() instead of exit().
This is because exit() does some extra cleanup which in some implementations of vfork(), for example, can actually modify the state of the parent process, causing very weird bugs or crashes. (issue #7971, Nick Gavrikov) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@46363 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_musiconhold.c')
-rw-r--r--res/res_musiconhold.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index a4debac8f..d6832009d 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -461,7 +461,7 @@ static int spawn_mp3(struct mohclass *class)
}
ast_log(LOG_WARNING, "Exec failed: %s\n", strerror(errno));
close(fds[1]);
- exit(1);
+ _exit(1);
} else {
/* Parent */
close(fds[1]);