/*
* lock.c -- routines to lock/unlock files
*
- * $Id$
- *
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
* complete copyright information.
#include <h/signals.h>
#include <h/utils.h>
-#ifdef TIME_WITH_SYS_TIME
+#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
-# include <time.h>
-#else
-# ifdef TM_IN_SYS_TIME
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
-#ifdef HAVE_ERRNO_H
-# include <errno.h>
#endif
+#include <time.h>
+#include <errno.h>
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
static void lockname (char *, struct lockinfo *, int);
static void timerON (char *, int);
static void timerOFF (int);
-static RETSIGTYPE alrmser (int);
-#endif
+static void alrmser (int);
#if !defined(HAVE_LIBLOCKFILE)
static int lockit (struct lockinfo *);
#endif
+#endif
/*
* Base routine to open and lock a file,
lockfile_remove(lkinfo.curlock);
#endif /* HAVE_LIBLOCKFILE */
timerOFF (fd); /* turn off lock timer */
+#else /* DOT_LOCKING */
+ NMH_UNUSED (file);
#endif /* DOT_LOCKING */
return (close (fd));
lockfile_remove(lkinfo.curlock);
#endif /* HAVE_LIBLOCKFILE */
timerOFF (fileno(fp)); /* turn off lock timer */
+#else /* DOT_LOCKING */
+ NMH_UNUSED (file);
#endif /* DOT_LOCKING */
return (fclose (fp));
curlock = li->curlock;
tmplock = li->tmplock;
-#ifdef HAVE_MKSTEMP
if ((fd = mkstemp(tmplock)) == -1)
return -1;
-#else
- if (mktemp(tmplock) == NULL)
- return -1;
- if (unlink(tmplock) == -1 && errno != ENOENT)
- return -1;
- /* create the temporary lock file */
- if ((fd = creat(tmplock, 0600)) == -1)
- return -1;
-#endif
#if 0
/* write our process id into lock file */
* lockfiles, so another command doesn't remove them.
*/
-static RETSIGTYPE
+static void
alrmser (int sig)
{
char *lockfile;
struct lock *lp;
-
-#ifndef RELIABLE_SIGNALS
- SIGNAL (SIGALRM, alrmser);
-#endif
+ NMH_UNUSED (sig);
/* update the ctime of all the lock files */
for (lp = l_top; lp; lp = lp->l_next) {