projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sp_protocol is short, not u_short
[unix-history]
/
usr
/
src
/
sys
/
kern
/
tty_tty.c
diff --git
a/usr/src/sys/kern/tty_tty.c
b/usr/src/sys/kern/tty_tty.c
index
888fc85
..
574b65d
100644
(file)
--- a/
usr/src/sys/kern/tty_tty.c
+++ b/
usr/src/sys/kern/tty_tty.c
@@
-1,7
+1,9
@@
-/* tty_tty.c 4.
2 %G%
*/
+/* tty_tty.c 4.
6 82/01/19
*/
/*
/*
- * indirect driver for controlling tty.
+ * Indirect driver for controlling tty.
+ *
+ * THIS IS GARBAGE: MUST SOON BE DONE WITH struct inode * IN PROC TABLE.
*/
#include "../h/param.h"
#include "../h/systm.h"
*/
#include "../h/param.h"
#include "../h/systm.h"
@@
-15,7
+17,7
@@
syopen(dev, flag)
{
syopen(dev, flag)
{
- if
(u.u_ttyp == NULL || (u.u_procp->p_flag&SDETACH)
) {
+ if
(u.u_ttyp == NULL
) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
@@
-26,7
+28,7
@@
syopen(dev, flag)
syread(dev)
{
syread(dev)
{
- if (u.u_
procp->p_flag&SDETACH
) {
+ if (u.u_
ttyp == NULL
) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
@@
-37,7
+39,7
@@
syread(dev)
sywrite(dev)
{
sywrite(dev)
{
- if (u.u_
procp->p_flag&SDETACH
) {
+ if (u.u_
ttyp == NULL
) {
u.u_error = ENXIO;
return;
}
u.u_error = ENXIO;
return;
}
@@
-49,9
+51,25
@@
syioctl(dev, cmd, addr, flag)
caddr_t addr;
{
caddr_t addr;
{
- 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_error = ENXIO;
return;
}
(*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag);
}
u.u_error = ENXIO;
return;
}
(*cdevsw[major(u.u_ttyd)].d_ioctl)(u.u_ttyd, cmd, addr, flag);
}
+
+syselect(dev, flag)
+{
+
+ if (u.u_ttyp == NULL) {
+ u.u_error = ENXIO;
+ return (0);
+ }
+ return ((*cdevsw[major(u.u_ttyd)].d_select)(dev, flag));
+}