Browse Source

Get the pid right if a stale lock file exists.

Submitted by: Lawrence D. Lopez <lopez@cisco.com>
OPENBSD_2_5
brian 26 years ago
parent
commit
d4e74d83fc
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      src/lib/libutil/uucplock.c

+ 4
- 4
src/lib/libutil/uucplock.c View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $Id: uucplock.c,v 1.4 1998/06/10 00:16:19 brian Exp $
* $Id: uucplock.c,v 1.5 1999/03/16 01:26:02 brian Exp $
* *
*/ */
@ -71,7 +71,7 @@ uu_lock(ttyname)
const char *ttyname; const char *ttyname;
{ {
int fd, tmpfd, i; int fd, tmpfd, i;
pid_t pid;
pid_t pid, pid_old;
char lckname[sizeof(_PATH_UUCPLOCK) + MAXNAMLEN], char lckname[sizeof(_PATH_UUCPLOCK) + MAXNAMLEN],
lcktmpname[sizeof(_PATH_UUCPLOCK) + MAXNAMLEN]; lcktmpname[sizeof(_PATH_UUCPLOCK) + MAXNAMLEN];
int err, uuerr; int err, uuerr;
@ -96,12 +96,12 @@ uu_lock(ttyname)
if ((fd = open(lckname, O_RDONLY)) < 0) if ((fd = open(lckname, O_RDONLY)) < 0)
GORET(1, UU_LOCK_OPEN_ERR); GORET(1, UU_LOCK_OPEN_ERR);
if ((pid = get_pid (fd, &err)) == -1)
if ((pid_old = get_pid (fd, &err)) == -1)
GORET(2, UU_LOCK_READ_ERR); GORET(2, UU_LOCK_READ_ERR);
close(fd); close(fd);
if (kill(pid, 0) == 0 || errno != ESRCH)
if (kill(pid_old, 0) == 0 || errno != ESRCH)
GORET(1, UU_LOCK_INUSE); GORET(1, UU_LOCK_INUSE);
/* /*
* The process that locked the file isn't running, so * The process that locked the file isn't running, so


Loading…
Cancel
Save