summaryrefslogtreecommitdiff
path: root/res/res_musiconhold.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-11-17 18:16:08 +0000
committerMark Spencer <markster@digium.com>2004-11-17 18:16:08 +0000
commit834627669e2238da9a9ce9618954ffcacfe96f23 (patch)
treec78f67836b4ce0a23405571c6dc934ba2fd487ea /res/res_musiconhold.c
parent07b19fad72217ff674234ad9d6d4e6ac7441dabb (diff)
Check that FD's are open before closing (bug #2858)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_musiconhold.c')
-rwxr-xr-xres/res_musiconhold.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 2dc39a5c6..e3808da62 100755
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -224,8 +224,11 @@ static int spawn_mp3(struct mohclass *class)
/* Stdout goes to pipe */
dup2(fds[1], STDOUT_FILENO);
/* Close unused file descriptors */
- for (x=3;x<8192;x++)
- close(x);
+ for (x=3;x<8192;x++) {
+ if (-1 != fcntl(x, F_GETFL)) {
+ close(x);
+ }
+ }
/* Child */
chdir(class->dir);
if(class->custom) {