summaryrefslogtreecommitdiffstats
path: root/sys/kern/tty_tty.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2001-05-15 18:12:38 +0000
committerbrian <brian@FreeBSD.org>2001-05-15 18:12:38 +0000
commit2a1cde5ff925137455a5fe00fccdcc7c1fe1991a (patch)
tree5911735051bb58520f43b5ca74583361f894bad6 /sys/kern/tty_tty.c
parentaf90023387d89cf6f0669318b511bb67eb70cd7a (diff)
downloadFreeBSD-src-2a1cde5ff925137455a5fe00fccdcc7c1fe1991a.zip
FreeBSD-src-2a1cde5ff925137455a5fe00fccdcc7c1fe1991a.tar.gz
Support /dev/ctty again
Submitted by: peter
Diffstat (limited to 'sys/kern/tty_tty.c')
-rw-r--r--sys/kern/tty_tty.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/kern/tty_tty.c b/sys/kern/tty_tty.c
index 8be458c..b175719 100644
--- a/sys/kern/tty_tty.c
+++ b/sys/kern/tty_tty.c
@@ -177,6 +177,8 @@ cttypoll(dev, events, p)
static void ctty_clone __P((void *arg, char *name, int namelen, dev_t *dev));
+static dev_t ctty;
+
static void
ctty_clone(void *arg, char *name, int namelen, dev_t *dev)
{
@@ -187,9 +189,11 @@ ctty_clone(void *arg, char *name, int namelen, dev_t *dev)
if (strcmp(name, "tty"))
return;
vp = cttyvp(curproc);
- if (vp == NULL)
- return;
- *dev = vp->v_rdev;
+ if (vp == NULL) {
+ if (ctty)
+ *dev = ctty;
+ } else
+ *dev = vp->v_rdev;
}
@@ -201,6 +205,7 @@ ctty_drvinit(unused)
if (devfs_present) {
EVENTHANDLER_REGISTER(dev_clone, ctty_clone, 0, 1000);
+ ctty = make_dev(&ctty_cdevsw, 0, 0, 0, 0666, "ctty");
} else {
make_dev(&ctty_cdevsw, 0, 0, 0, 0666, "tty");
}
OpenPOWER on IntegriCloud