X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Flock_file.c;h=11531dfbfc3dee2936583e27a68e3c3ae3b07d96;hp=34d743e5414bbf475a2ea081c41176cef7f17897;hb=fc71710f8695ea07d852284286b058ecb3955317;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/sbr/lock_file.c b/sbr/lock_file.c index 34d743e..11531df 100644 --- a/sbr/lock_file.c +++ b/sbr/lock_file.c @@ -30,9 +30,7 @@ # endif #endif -#ifdef HAVE_ERRNO_H -# include -#endif +#include #ifdef HAVE_FCNTL_H # include @@ -106,12 +104,12 @@ static int lkopen_dot(char *, int, mode_t); 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, @@ -437,18 +435,8 @@ lockit(struct lockinfo *li) 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 */ @@ -479,10 +467,6 @@ lockname(char *file, struct lockinfo *li, int isnewlock) int bplen, tmplen; char *bp, *cp; -#if 0 - struct stat st; -#endif - if ((cp = strrchr(file, '/')) == NULL || *++cp == 0) cp = file; @@ -502,19 +486,6 @@ lockname(char *file, struct lockinfo *li, int isnewlock) } #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) @@ -602,7 +573,7 @@ timerOFF(int fd) ** lockfiles, so another command doesn't remove them. */ -static RETSIGTYPE +static void alrmser(int sig) { char *lockfile;