diff options
author | bde <bde@FreeBSD.org> | 1997-12-06 13:25:01 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1997-12-06 13:25:01 +0000 |
commit | e868842f1180b3e29eff5629c14e3f84e2408cf5 (patch) | |
tree | bbf7b0ee0acd4d019803c4377eb818fb2dde8ec6 /sys/pc98 | |
parent | 5bdfd4647651209e0cb83448fabf713a337acb1b (diff) | |
download | FreeBSD-src-e868842f1180b3e29eff5629c14e3f84e2408cf5.zip FreeBSD-src-e868842f1180b3e29eff5629c14e3f84e2408cf5.tar.gz |
Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that are
not handled at a particular level. This fixes mainly restarting
of interrupted TIOCDRAINs and TIOCSETA{W,F}s.
Diffstat (limited to 'sys/pc98')
-rw-r--r-- | sys/pc98/cbus/sio.c | 6 | ||||
-rw-r--r-- | sys/pc98/pc98/sio.c | 6 | ||||
-rw-r--r-- | sys/pc98/pc98/syscons.c | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c index 1a034b2..1189f27 100644 --- a/sys/pc98/cbus/sio.c +++ b/sys/pc98/cbus/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.42 1997/11/03 02:30:45 kato Exp $ + * $Id: sio.c,v 1.43 1997/11/25 09:42:26 kato Exp $ */ #include "opt_comconsole.h" @@ -2237,12 +2237,12 @@ sioioctl(dev, cmd, data, flag, p) dt->c_ospeed = tp->t_ospeed; } error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p); - if (error >= 0) + if (error != ENOIOCTL) return (error); s = spltty(); error = ttioctl(tp, cmd, data, flag); disc_optim(tp, &tp->t_termios, com); - if (error >= 0) { + if (error != ENOIOCTL) { splx(s); return (error); } diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c index 1a034b2..1189f27 100644 --- a/sys/pc98/pc98/sio.c +++ b/sys/pc98/pc98/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.42 1997/11/03 02:30:45 kato Exp $ + * $Id: sio.c,v 1.43 1997/11/25 09:42:26 kato Exp $ */ #include "opt_comconsole.h" @@ -2237,12 +2237,12 @@ sioioctl(dev, cmd, data, flag, p) dt->c_ospeed = tp->t_ospeed; } error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p); - if (error >= 0) + if (error != ENOIOCTL) return (error); s = spltty(); error = ttioctl(tp, cmd, data, flag); disc_optim(tp, &tp->t_termios, com); - if (error >= 0) { + if (error != ENOIOCTL) { splx(s); return (error); } diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c index 1e66871..bb0eec4 100644 --- a/sys/pc98/pc98/syscons.c +++ b/sys/pc98/pc98/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.63 1997/11/25 09:51:43 kato Exp $ + * $Id: syscons.c,v 1.64 1997/11/27 10:14:11 kato Exp $ */ #include "sc.h" @@ -1974,10 +1974,10 @@ scioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p) } error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p); - if (error >= 0) + if (error != ENOIOCTL) return(error); error = ttioctl(tp, cmd, data, flag); - if (error >= 0) + if (error != ENOIOCTL) return(error); return(ENOTTY); } |