slattach always exited early because fd is not open in acquire_line().
Other (trivial) changes that I've been neglecting for some time:
- Turn off O_NONBLOCK so that `chat' doesn't need to worry about it
(`chat' actually does worry about it).
- Really set speeds POSIXly :-). cfsetspeed() isn't POSIX.
- Fix spelling error in comment.
- Gripe about bad programming of doing everything from signal handlers.
slattach should be written to do everything from the sigsuspend() loop,
but I don't want to do it :-).
From me:
Use .PATH to find uucplock.c
Submitted by: bde
FDs and fork before redialing) to prevent dialer from hanging with
newer sio.c.
Also moved history from the source to the cvs log (here) per
David G's suggestion.
This compiles but needs testing now... Rich
/*
* Hacks to support "-a|c|n" flags on the command line which enable VJ
* header compresion and disable ICMP.
* If this is good all rights go to B & L Jolitz, otherwise send your
* comments to Reagan (/dev/null).
*
* nerd@percival.rain.com (Michael Galassi) 92.09.03
*
* Hacked to change from sgtty to POSIX termio style serial line control
* and added flag to enable cts/rts style flow control.
*
* blymn@awadi.com.au (Brett Lymn) 93.04.04
*
* Put slattach in it's own process group so it can't be killed
* accidentally. Close the connection on SIGHUP and SIGINT. Write a
* syslog entry upon opening and closing the connection. Rich Murphey
* and Brad Huntting.
*
* Add '-r command' option: runs 'command' upon recieving SIGHUP
* resulting from loss of carrier. Log any errors after forking.
* Rich 8/13/93
*
* This version of slattach includes many changes by David Greenman, Brian
* Smith, Chris Bradley, and me (Michael Galassi). None of them are
* represented as functional anywhere outside of RAINet though they do work
* for us. Documentation is limited to the usage message for now. If you
* make improovments please pass them back.
*
* Added '-u UCMD' which runs 'UCMD <old> <new>' whenever the slip
* unit number changes where <old> and <new> are the old and new unit
* numbers, respectively. Also added the '-z' option which forces
* invocation of the redial command (-r CMD) upon startup regardless
* of whether the com driver claims (sometimes mistakenly) that
* carrier is present. Also added '-e ECMD' which runs ECMD before
* exiting.
*
* marc@escargot.rain.com (Marc Frajola) 93/09/10
*
* Minor fixes to allow passive SLIP links to work (connections with
* modem control that do not have an associated dial command). Added
* code to re-check for carrier after dial command has been executed.
* Added SIGTERM handler to properly handle normal kill signals. Fixed
* bug in logic that caused message about no -u command to be logged
* even when -u was specified and the sl number changes. Tried to get
* rid of redundant syslog()'s to minimize console log output. Improved
* logging of improper command line options or number of command
* arguments. Removed spurious newline characters from syslog() calls.
*
* gjung@gjbsd.franken.de
*
* sighup_handler changed to set CLOCAL before running redial_cmd.
* added flag exiting, so exit_handler is not run twice. Fork
* before reopening tty.
*/