#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
+#include <time.h>
-#ifdef HAVE_ERRNO_H
-# include <errno.h>
-#endif
+#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,
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 */
int bplen, tmplen;
char *bp, *cp;
-#if 0
- struct stat st;
-#endif
-
if ((cp = strrchr(file, '/')) == NULL || *++cp == 0)
cp = file;
}
#endif
-#if 0
- /*
- ** mmdf style dot locking. Currently not supported.
- ** If we start supporting mmdf style dot locking,
- ** we will need to change the return value of lockname
- */
- if (stat(file, &st) == -1)
- return -1;
-
- snprintf(bp, sizeof(li->curlock) - bplen, "LCK%05d.%05d",
- st.st_dev, st.st_ino);
-#endif
-
snprintf(bp, sizeof(li->curlock) - bplen, "%s.lock", cp);
#if !defined(HAVE_LIBLOCKFILE)
** 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
-
/* update the ctime of all the lock files */
for (lp = l_top; lp; lp = lp->l_next) {
lockfile = lp->l_lock;