Re-add --with-lockdir=DIR configure option
[mmh] / sbr / lock_file.c
index 5d0be84..7309c86 100644 (file)
 ** Ruud de Rooij <ruud@debian.org>  Sun, 28 Mar 1999 15:34:03 +0200
 */
 
+#include <unistd.h>
 #include <h/mh.h>
 #include <h/signals.h>
 #include <h/utils.h>
+#include <sys/stat.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>
 
 #include <errno.h>
 
 #include <lockfile.h>
 #endif
 
-#ifdef LOCKDIR
+#ifdef DOT_LOCKING
+# ifdef LOCKDIR
 char *lockdir = LOCKDIR;
+# endif
 #endif
 
 /* Are we using any kernel locking? */
@@ -334,7 +332,7 @@ lkopen_kernel(char *file, int access, mode_t mode)
 
                j = errno;
                close(fd);
-               sleep(5);
+               sleep(1);
        }
 
        close(fd);
@@ -386,7 +384,7 @@ lkopen_dot(char *file, int access, mode_t mode)
                                if (stat(lkinfo.curlock, &st) == -1) {
                                        if (i++ > 5)
                                                return -1;
-                                       sleep(5);
+                                       sleep(1);
                                } else {
                                        time_t curtime;
                                        i = 0;
@@ -399,7 +397,7 @@ lkopen_dot(char *file, int access, mode_t mode)
                                        if (curtime > st.st_ctime + RSECS)
                                                unlink(lkinfo.curlock);
                                        else
-                                               sleep(5);
+                                               sleep(1);
                                }
                                lockname(file, &lkinfo, 1);
                        }
@@ -435,8 +433,10 @@ lockit(struct lockinfo *li)
        curlock = li->curlock;
        tmplock = li->tmplock;
 
-       if ((fd = mkstemp(tmplock)) == -1)
+       if ((fd = mkstemp(tmplock)) == -1) {
+               advise(NULL, "unable to create temporary file in %s", tmplock);
                return -1;
+       }
 
 #if 0
        /* write our process id into lock file */