X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Flock_file.c;h=b62604a619c5d47c268a6844dcffa78571a3800f;hp=11531dfbfc3dee2936583e27a68e3c3ae3b07d96;hb=bdd879c997e50e6b6e14dffb746d9fe9b6a1cf6c;hpb=fc71710f8695ea07d852284286b058ecb3955317 diff --git a/sbr/lock_file.c b/sbr/lock_file.c index 11531df..b62604a 100644 --- a/sbr/lock_file.c +++ b/sbr/lock_file.c @@ -15,20 +15,16 @@ ** Ruud de Rooij Sun, 28 Mar 1999 15:34:03 +0200 */ +#include #include #include #include +#include -#ifdef TIME_WITH_SYS_TIME +#ifdef HAVE_SYS_TIME_H # include -# include -#else -# ifdef TM_IN_SYS_TIME -# include -# else -# include -# endif #endif +#include #include @@ -334,7 +330,7 @@ lkopen_kernel(char *file, int access, mode_t mode) j = errno; close(fd); - sleep(5); + sleep(1); } close(fd); @@ -386,7 +382,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 +395,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 +431,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 */ @@ -579,10 +577,6 @@ 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;