diff lib/xwrap.c @ 1028:58bfd974216d draft

syslogd: cleanup - fix bugs introduced in the cleanups - inline addrfds() and open_unix_socks() and simplify them - use xpidfile() - remove isNetwork from struct logfile - invert the meaning of facility and level in struct logfile so that they are automatically correctly initialized - fix memory leak regarding the filenames of logfiles - TT.sd was unused
author Felix Janda <felix.janda at posteo.de>
date Mon, 26 Aug 2013 21:55:33 +0200
parents 252caf3d2b88
children 40d0c96a8e89
line wrap: on
line diff
--- a/lib/xwrap.c	Sat Aug 24 12:04:45 2013 +0200
+++ b/lib/xwrap.c	Mon Aug 26 21:55:33 2013 +0200
@@ -452,7 +452,7 @@
   sprintf(pidfile, "/var/run/%s.pid", name);
   // Try three times to open the sucker.
   for (i=0; i<3; i++) {
-    fd = open(pidfile, O_CREAT|O_EXCL, 0644);
+    fd = open(pidfile, O_CREAT|O_EXCL|O_WRONLY, 0644);
     if (fd != -1) break;
 
     // If it already existed, read it.  Loop for race condition.