X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Flock_file.c;h=a98d5b1aeb8609c66608aeff6e926a5039d8a279;hp=5cd187243acf69cc722e0424e59ccafcd1524d87;hb=81a21a9a97d8633f6d6231e31fdb6e328d0d3ff2;hpb=82a21b6f3cddf8ab048dcb02c080ea9797c73c5a diff --git a/sbr/lock_file.c b/sbr/lock_file.c index 5cd1872..a98d5b1 100644 --- a/sbr/lock_file.c +++ b/sbr/lock_file.c @@ -19,6 +19,7 @@ #include #include +#include #ifdef TIME_WITH_SYS_TIME # include @@ -56,8 +57,6 @@ #include #endif -extern int errno; - #ifdef LOCKDIR char *lockdir = LOCKDIR; #endif @@ -342,7 +341,6 @@ lkopen_kernel (char *file, int access, mode_t mode) j = errno; close (fd); - admonish (file, "lock did not succeed, waiting"); sleep (5); } @@ -404,6 +402,7 @@ lkopen_dot (char *file, int access, mode_t mode) else sleep (5); } + lockname (file, &lkinfo, 1); } } #else @@ -544,15 +543,11 @@ timerON (char *curlock, int fd) struct lock *lp; size_t len; - if (!(lp = (struct lock *) malloc (sizeof(*lp)))) - return; + lp = (struct lock *) mh_xmalloc (sizeof(*lp)); len = strlen(curlock) + 1; lp->l_fd = fd; - if (!(lp->l_lock = malloc (len))) { - free ((char *) lp); - return; - } + lp->l_lock = mh_xmalloc (len); memcpy (lp->l_lock, curlock, len); lp->l_next = l_top;