From: Todd C. Miller Date: Fri, 6 Aug 1999 13:49:26 +0000 (+0000) Subject: add fcntl locking X-Git-Tag: SUDO_1_6_0~150 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68a2b1678125c6ce40dc4c68a14be4f5c28eb4ed;p=sudo add fcntl locking --- diff --git a/logging.c b/logging.c index b5080ffdb..2841fffa5 100644 --- a/logging.c +++ b/logging.c @@ -604,7 +604,18 @@ lock_file(fp, lockit) FILE *fp; int lockit; { - /* XXX - implement fcntl-style locking */ +#ifdef F_SETLK + struct flock lock; + + lock.l_start = 0; + lock.l_len = 0; + lock.l_pid = getpid(); + lock.l_type = lockit ? F_WRLCK : F_UNLCK; + lock.l_whence = SEEK_SET; + + return(fcntl(fileno(fp), F_SETLKW, &lock) == 0); +#else return(TRUE); +#endif } #endif