X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Fcommon.c;h=1abb148c6f6ff3b3c9034f184c277a30a872f90a;hb=146b8bb68c6280fbf701337f689f8d84b7ff1ff6;hp=af95efa7378d96b383a3b27951b7eb4a6466aa1b;hpb=520b2f3bb198bfbb88b90b058ef610f0a9b980c6;p=apps%2Fpfixtools.git diff --git a/common/common.c b/common/common.c index af95efa..1abb148 100644 --- a/common/common.c +++ b/common/common.c @@ -236,19 +236,10 @@ int drop_privileges(const char *user, const char *group) int pidfile_open(const char *name) { - struct flock lock; - p_clear(&lock, 1); - lock.l_type = F_WRLCK; if (name) { pidfile = fopen(name, "w"); if (!pidfile) return -1; - if (fcntl(fileno(pidfile), F_SETLK, &lock) == -1) { - crit("program already started"); - fclose(pidfile); - pidfile = NULL; - return -1; - } fprintf(pidfile, "%d\n", getpid()); return fflush(pidfile); } @@ -268,13 +259,9 @@ int pidfile_refresh(void) static void pidfile_close(void) { - struct flock lock; - p_clear(&lock, 1); - lock.l_type = F_UNLCK; if (pidfile) { rewind(pidfile); ftruncate(fileno(pidfile), 0); - fcntl(fileno(pidfile), F_SETLK, &lock); fclose(pidfile); pidfile = NULL; } @@ -309,8 +296,8 @@ static void common_shutdown(void) { if (daemon_process) { info("stopping..."); + pidfile_close(); } - pidfile_close(); for (int i = -1; __madexit[i]; i--) { (*__madexit[i])(); }