diff options
author | ache <ache@FreeBSD.org> | 1995-09-19 09:07:51 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1995-09-19 09:07:51 +0000 |
commit | 545650b894b069fcee1b93bf9f2c304a5f34cdb0 (patch) | |
tree | 1a7d2823b3520ababc17a73cdd26e33255730421 /sbin/slattach | |
parent | 510222472c88b031fa5a8db4563198ccdd4d9b94 (diff) | |
download | FreeBSD-src-545650b894b069fcee1b93bf9f2c304a5f34cdb0.zip FreeBSD-src-545650b894b069fcee1b93bf9f2c304a5f34cdb0.tar.gz |
Unlock device for redial_cmd, then lock again
Diffstat (limited to 'sbin/slattach')
-rw-r--r-- | sbin/slattach/slattach.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sbin/slattach/slattach.c b/sbin/slattach/slattach.c index ee4c98d..4a01e5a 100644 --- a/sbin/slattach/slattach.c +++ b/sbin/slattach/slattach.c @@ -440,8 +440,16 @@ again: setup_line(CLOCAL); syslog(LOG_NOTICE,"SIGHUP on %s (sl%d); running %s", dev,unit,redial_cmd); + uu_unlock(dvname); /* for redial */ + locked = 0; if (system(redial_cmd)) goto again; + if (uu_lock(dvname)) { + syslog(LOG_ERR, "can't relock %s after %s, aborting", + dev, redial_cmd); + exit_handler(1); + } + locked = 1; /* Now check again for carrier (dial command is done): */ if (!(modem_control & CLOCAL)) { tty.c_cflag &= ~CLOCAL; |