SCCS-vsn: sys/kern/tty_tty.c 4.5
-/* tty_tty.c 4.4 81/10/11 */
+/* tty_tty.c 4.5 82/01/13 */
/*
* Indirect driver for controlling tty.
/*
* Indirect driver for controlling tty.
- if (u.u_procp->p_flag&SDETACH) {
+ if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
- if (u.u_procp->p_flag&SDETACH) {
+ if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
- if (u.u_procp->p_flag&SDETACH) {
+ if (cmd == TIOCNOTTY) {
+ u.u_ttyp = 0;
+ u.u_ttyd = 0;
+ u.u_procp->p_pgrp = 0;
+ return;
+ }
+ if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
- if (u.u_procp->p_flag&SDETACH) {
+ if (u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)) {
- (*cdevsw[major(u.u_ttyd)].d_select)(dev, flag);
+ return ((*cdevsw[major(u.u_ttyd)].d_select)(dev, flag));