projects
/
oweals
/
musl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b24bc15
)
daemon should check for failures and return -1
author
Rich Felker
<dalias@aerifal.cx>
Thu, 17 Feb 2011 15:28:56 +0000
(10:28 -0500)
committer
Rich Felker
<dalias@aerifal.cx>
Thu, 17 Feb 2011 15:28:56 +0000
(10:28 -0500)
src/linux/daemon.c
patch
|
blob
|
history
diff --git
a/src/linux/daemon.c
b/src/linux/daemon.c
index 632d1203debf329148d135ff71ac10c237815da3..3750fc3433448a92cbb5b78e88330cc0d9e71d78 100644
(file)
--- a/
src/linux/daemon.c
+++ b/
src/linux/daemon.c
@@
-19,12
+19,15
@@
int daemon(int nochdir, int noclose)
default: _exit(0);
}
- if (!nochdir) chdir("/");
- if (!noclose && (fd = open("/dev/null", O_RDWR)) >= 0) {
- dup2(fd, 0);
- dup2(fd, 1);
- dup2(fd, 2);
+ if (!nochdir && chdir("/"))
+ return -1;
+ if (!noclose) {
+ int failed = 0;
+ if ((fd = open("/dev/null", O_RDWR)) < 0) return -1;
+ if (dup2(fd, 0) < 0 || dup2(fd, 1) < 0 || dup2(fd, 2) < 0)
+ failed++;
if (fd > 2) close(fd);
+ if (failed) return -1;
}
return 0;