- for (;;) {
- fl.l_type= F_WRLCK;
- fl.l_whence= SEEK_SET;
- fl.l_start= 0;
- fl.l_len= 1;
- if (fcntl(fd, mode=='w' ? F_SETLKW : F_SETLK, &fl) != -1) break;
- if (mode=='q' &&
- (errno == EAGAIN || errno == EWOULDBLOCK || errno == EBUSY))
- exit(0);
- if (errno != EINTR) fail("could not acquire lock");
- }
-
- if (fstat(fd, &fstab)) fail("could not fstat lock fd");
- if (stat(argv[1], &stab)) {
- if (errno != ENOENT) fail("could not stat lockfile");
- } else {
- if (stab.st_dev == fstab.st_dev &&
- stab.st_ino == fstab.st_ino) break;
- }
- close(fd);
+ for (;;) {
+ fl.l_type= F_WRLCK;
+ fl.l_whence= SEEK_SET;
+ fl.l_start= 0;
+ fl.l_len= 1;
+ if (fcntl(fd, mode=='w' ? F_SETLKW : F_SETLK, &fl) != -1) break;
+ if (mode=='q' && (errno == EAGAIN || errno == EWOULDBLOCK || errno == EBUSY)) exit(0);
+ if (errno != EINTR) fail("could not acquire lock");