1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
--- os/utils.c.orig 2010-05-04 02:48:00.000000000 +0200
+++ os/utils.c 2011-10-18 20:08:10.000000000 +0200
@@ -315,7 +315,7 @@
FatalError("Could not create lock file in %s\n", tmp);
(void) sprintf(pid_str, "%10ld\n", (long)getpid());
(void) write(lfd, pid_str, 11);
- (void) chmod(tmp, 0444);
+ (void) fchmod(tmp, 0444);
(void) close(lfd);
/*
@@ -336,7 +336,7 @@
/*
* Read the pid from the existing file
*/
- lfd = open(LockFile, O_RDONLY);
+ lfd = open(LockFile, O_RDONLY|O_NOFOLLOW);
if (lfd < 0) {
unlink(tmp);
FatalError("Can't read lock file %s\n", LockFile);
|