--- a/src/vnstatd.c 2011-06-01 00:29:51.000000000 +0200
+++ b/src/vnstatd.c 2011-12-22 22:23:22.512967108 +0100
@@ -482,10 +482,18 @@
/* lock / pid file */
pidfile = open(cfg.pidfile, O_RDWR|O_CREAT, 0644);
if (pidfile<0) {
- perror("pidfile");
- snprintf(errorstring, 512, "pidfile failed, exiting.");
- printe(PT_Error);
- exit(EXIT_FAILURE); /* can't open */
+ /* for Fedora's move to systemd and /run check
+ * for /run/vnstat/vnstat.pid, so that it needs no changes
+ * to the config file */
+ pidfile = open("/run/vnstat/vnstat.pid", O_RDWR|O_CREAT, 0644);
+ if (pidfile<0) {
+ perror("pidfile");
+ snprintf(errorstring, 512, "pidfile failed, exiting.");
+ printe(PT_Error);
+ exit(EXIT_FAILURE); /* can't open */
+ } else {
+ strncpy(cfg.pidfile, "/run/vnstat/vnstat.pid", 512);
+ }
}
if (lockf(pidfile,F_TLOCK,0)<0) {
perror("pidfile lock");