From 61bb3093e32e9e1e58cec079ea101b5b11c5fee0 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 1 Aug 2001 17:32:45 +0000 Subject: Pidfile check can be read-only. Removed old ifdef in password.c Jeremy. (This used to be commit d82efc61ef16533c5652a5d4a9863f8317cb4ea2) --- source3/lib/pidfile.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/pidfile.c b/source3/lib/pidfile.c index 25ff85483d..9de672010a 100644 --- a/source3/lib/pidfile.c +++ b/source3/lib/pidfile.c @@ -41,7 +41,7 @@ pid_t pidfile_pid(char *name) slprintf(pidFile, sizeof(pidFile)-1, "%s/%s.pid", lp_lockdir(), name); - fd = sys_open(pidFile, O_NONBLOCK | O_RDWR, 0644); + fd = sys_open(pidFile, O_NONBLOCK | O_RONLY, 0644); if (fd == -1) { return 0; } @@ -49,24 +49,24 @@ pid_t pidfile_pid(char *name) ZERO_ARRAY(pidstr); if (read(fd, pidstr, sizeof(pidstr)-1) <= 0) { - goto ok; + goto noproc; } ret = atoi(pidstr); if (!process_exists((pid_t)ret)) { - goto ok; + goto noproc; } - if (fcntl_lock(fd,SMB_F_SETLK,0,1,F_WRLCK)) { + if (fcntl_lock(fd,SMB_F_SETLK,0,1,F_RDLCK)) { /* we could get the lock - it can't be a Samba process */ - goto ok; + goto noproc; } close(fd); return (pid_t)ret; - ok: + noproc: close(fd); unlink(pidFile); return 0; -- cgit