Get the pid right if a stale lock file exists.
PR: 10531 Submitted by: Lawrence D. Lopez <lopez@cisco.com>
This commit is contained in:
parent
a36ca3cc08
commit
3c42a9c08a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=44652
@ -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.9 1998/05/28 23:17:09 brian Exp $
|
* $Id: uucplock.c,v 1.10 1998/06/10 00:16:28 brian Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ int
|
|||||||
uu_lock(const char *ttyname)
|
uu_lock(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;
|
||||||
@ -95,12 +95,12 @@ uu_lock(const char *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…
Reference in New Issue
Block a user