X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Flock_file.c;h=b1879b380b033a4932e2d8a4db229a91d4eff241;hp=983d9d70d437ad6b6365f0c37bc3a65e6c32c003;hb=4e4c5eeaffc0ff9e341c1562a02c1749a9a06dbe;hpb=768b5edd9623b7238e12ec8dfc409b82a1ed9e2d diff --git a/sbr/lock_file.c b/sbr/lock_file.c index 983d9d7..b1879b3 100644 --- a/sbr/lock_file.c +++ b/sbr/lock_file.c @@ -19,16 +19,10 @@ #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 @@ -104,7 +98,7 @@ 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); +static void alrmser(int); #if !defined(HAVE_LIBLOCKFILE) static int lockit(struct lockinfo *); @@ -435,18 +429,10 @@ 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) + if ((fd = mkstemp(tmplock)) == -1) { + advise(NULL, "unable to create temporary file in %s", tmplock); return -1; -#endif + } #if 0 /* write our process id into lock file */ @@ -583,16 +569,12 @@ timerOFF(int fd) ** 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;