X-Git-Url: https://git.distorted.org.uk/~mdw/misc/blobdiff_plain/9a4b247450aa361f6a5c905a1424bc0dcc92f26e..f9f9787aa08f519b3df9953a6b8877f7e65950f0:/locking.c diff --git a/locking.c b/locking.c index 2e61f0d..8931dbd 100644 --- a/locking.c +++ b/locking.c @@ -1,13 +1,13 @@ /* -*-c-*- * - * $Id: locking.c,v 1.3 2004/04/08 01:36:26 mdw Exp $ + * $Id$ * * Lock a file, run a program * * (c) 2003 Mark Wooding */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of the Toys utilties collection. * @@ -15,12 +15,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * Toys is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with Toys; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -95,7 +96,7 @@ int main(int argc, char *argv[]) struct flock l; char *p; int t = -1; - unsigned int ot; + unsigned int ot = 0; time_t nt; pid_t kid; int st; @@ -223,7 +224,9 @@ doneopts: errno = 0; } signal(SIGALRM, oalrm); - if (ot) { + if (!ot) + alarm(0); + else { nt = time(0) - nt; if (nt > ot) raise(SIGALRM);