SCCS-vsn: sys/kern/tty_tb.c 4.6
SCCS-vsn: sys/kern/tty_tty.c 4.12
-/* tty_tb.c 4.5 82/10/13 */
+/* tty_tb.c 4.6 82/10/17 */
#include "tb.h"
#if NTB > 0
#include "tb.h"
#if NTB > 0
{
register struct tbposition *tbp;
{
register struct tbposition *tbp;
- if (u.u_error)
- return; /* paranoia */
if (tp->t_line == TABLDISC || tp->t_line == NTABLDISC) {
if (tp->t_line == TABLDISC || tp->t_line == NTABLDISC) {
- u.u_error = EBUSY;
- return;
- }
wflushtty(tp);
tp->t_cp = (char *) &tp->t_un.T_CTLQ; /* overlay control queue */
tp->t_inbuf = 0;
tbp = (struct tbposition *) &tp->t_rocount;
tbp->xpos = tbp->ypos = tbp->status = tbp->scount = 0;
wflushtty(tp);
tp->t_cp = (char *) &tp->t_un.T_CTLQ; /* overlay control queue */
tp->t_inbuf = 0;
tbp = (struct tbposition *) &tp->t_rocount;
tbp->xpos = tbp->ypos = tbp->status = tbp->scount = 0;
* close routine.
*/
tbclose(tp)
* close routine.
*/
tbclose(tp)
-register struct tty *tp;
+ register struct tty *tp;
+ register int s = spl5();
tp->t_cp = 0;
tp->t_inbuf = 0;
tp->t_rawq.c_cc = 0; /* clear queues -- paranoid */
tp->t_cp = 0;
tp->t_inbuf = 0;
tp->t_rawq.c_cc = 0; /* clear queues -- paranoid */
-/* tty_tty.c 4.11 82/10/13 */
+/* tty_tty.c 4.12 82/10/17 */
/*
* Indirect driver for controlling tty.
/*
* Indirect driver for controlling tty.
/*ARGSUSED*/
syopen(dev, flag)
/*ARGSUSED*/
syopen(dev, flag)
- if (u.u_ttyp == NULL) {
- u.u_error = ENXIO;
- return;
- }
- (*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag);
+ if (u.u_ttyp == NULL)
+ return (ENXIO);
+ return ((*cdevsw[major(u.u_ttyd)].d_open)(u.u_ttyd, flag));
u.u_ttyp = 0;
u.u_ttyd = 0;
u.u_procp->p_pgrp = 0;
u.u_ttyp = 0;
u.u_ttyd = 0;
u.u_procp->p_pgrp = 0;
- return;
- }
- if (u.u_ttyp == NULL) {
- u.u_error = ENXIO;
- return;
- (*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag);
+ if (u.u_ttyp == NULL)
+ return (ENXIO);
+ return ((*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag));