Patch from tilman2: Close PID-file
[umurmur.git] / src / main.c
index 70358e61ad88ebb71215f4f3041760e546044515..8a0573ab41eaccdd7e2cb3345bbf0b2a85f3520a 100644 (file)
@@ -60,12 +60,13 @@ void lockfile(const char *pidfile)
        int lfp;
        char str[16];
        
-       lfp = open(pidfile, O_RDWR|O_CREAT, 0640);
+       lfp = open(pidfile, O_RDWR|O_CREAT|O_EXCL, 0640);
        
        if (lfp < 0)
                Log_fatal("Cannot open PID-file %s for writing", pidfile);
        snprintf(str,16,"%d\n", getpid());
        write(lfp, str, strlen(str)); /* record pid to lockfile */
+       close(lfp);
        Log_info("PID-file: %s", pidfile);
 }