Patch from tilman2: Close PID-file
[umurmur.git] / src / main.c
index 863a7d4dacfd2ca8e54b35bd3414ef12c7e092ab..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);
 }
 
@@ -130,7 +131,7 @@ void printhelp()
 {
        printf("uMurmur version %s. Mumble protocol %d.%d.%d\n", UMURMUR_VERSION, PROTVER_MAJOR, PROTVER_MINOR, PROTVER_PATCH);
        printf("Usage: umurmurd [-d] [-p <pidfile>] [-c <conf file>] [-h]\n");
-       printf("       -d             - Do not deamonize\n");
+       printf("       -d             - Do not daemonize\n");
        printf("       -p <pidfile>   - Write PID to this file\n");
        printf("       -c <conf file> - Specify configuration file\n");
 #ifdef _POSIX_PRIORITY_SCHEDULING