summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-10-30 21:09:18 +0000
committerLennart Poettering <lennart@poettering.net>2005-10-30 21:09:18 +0000
commit6023366dc81df26b8ead986310bba6a34a420050 (patch)
tree7eef11ca2ad40f39ea424ad364825b581ff6a2f3
parent3b92cbbd350168e60f17f03d10d6e9e754f9630f (diff)
write PID files with non-zero umask
git-svn-id: file:///home/lennart/svn/public/libdaemon/trunk@97 153bfa13-eec0-0310-be40-b0cb6a0e1b4b
-rw-r--r--libdaemon/dpid.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libdaemon/dpid.c b/libdaemon/dpid.c
index b2e113c..daf0f6d 100644
--- a/libdaemon/dpid.c
+++ b/libdaemon/dpid.c
@@ -175,10 +175,13 @@ int daemon_pid_file_create(void) {
int locked = -1;
char t[64];
ssize_t l;
+ mode_t u;
+
+ u = umask(022);
if (!(fn = daemon_pid_file_proc()))
goto finish;
-
+
if ((fd = open(fn, O_CREAT|O_RDWR|O_EXCL, 0644)) < 0) {
fprintf(stderr, "open(%s): %s", fn, strerror(errno));
goto finish;
@@ -208,6 +211,8 @@ finish:
close(fd);
}
+ umask(u);
+
return ret;
}