projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove all occurences of $Id$.
[tinc]
/
lib
/
pidfile.c
diff --git
a/lib/pidfile.c
b/lib/pidfile.c
index
61a802f
..
dd6788a
100644
(file)
--- a/
lib/pidfile.c
+++ b/
lib/pidfile.c
@@
-41,7
+41,8
@@
pid_t read_pid (char *pidfile)
if (!(f=fopen(pidfile,"r")))
return 0;
if (!(f=fopen(pidfile,"r")))
return 0;
- fscanf(f,"%ld", &pid);
+ if(fscanf(f,"%ld", &pid) != 1)
+ pid = 0;
fclose(f);
return pid;
}
fclose(f);
return pid;
}
@@
-84,8
+85,12
@@
pid_t write_pid (char *pidfile)
int fd;
pid_t pid;
int fd;
pid_t pid;
- if ( ((fd = open(pidfile, O_RDWR|O_CREAT, 0644)) == -1)
- || ((f = fdopen(fd, "r+")) == NULL) ) {
+ if ((fd = open(pidfile, O_RDWR|O_CREAT, 0644)) == -1) {
+ return 0;
+ }
+
+ if ((f = fdopen(fd, "r+")) == NULL) {
+ close(fd);
return 0;
}
return 0;
}
@@
-98,18
+103,18
@@
pid_t write_pid (char *pidfile)
pid = getpid();
if (!fprintf(f,"%ld\n", (long)pid)) {
pid = getpid();
if (!fprintf(f,"%ld\n", (long)pid)) {
-
close(fd
);
+
fclose(f
);
return 0;
}
fflush(f);
#ifdef HAVE_FLOCK
if (flock(fd, LOCK_UN) == -1) {
return 0;
}
fflush(f);
#ifdef HAVE_FLOCK
if (flock(fd, LOCK_UN) == -1) {
-
close(fd
);
+
fclose(f
);
return 0;
}
#endif
return 0;
}
#endif
-
close(fd
);
+
fclose(f
);
return pid;
}
return pid;
}