diff options
author | brian <brian@FreeBSD.org> | 2001-05-15 18:12:38 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2001-05-15 18:12:38 +0000 |
commit | 2a1cde5ff925137455a5fe00fccdcc7c1fe1991a (patch) | |
tree | 5911735051bb58520f43b5ca74583361f894bad6 /sys/kern/tty_tty.c | |
parent | af90023387d89cf6f0669318b511bb67eb70cd7a (diff) | |
download | FreeBSD-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.c | 11 |
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"); } |