[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nmdm(4) does not call .l_close
- To: Maksim Yevmenkin <maksim_(_dot_)_yevmenkin_(_at_)_gmail_(_dot_)_com>
- Subject: Re: nmdm(4) does not call .l_close
- From: Julian Elischer <julian_(_at_)_elischer_(_dot_)_org>
- Date: Thu, 26 Jul 2007 17:51:32 -0700
- Cc: freebsd-current_(_at_)_freebsd_(_dot_)_org
Maksim Yevmenkin wrote:
Dear All,
it seems to me that nmdm(4) is not calling .l_close (i.e. does not
close whatever line discipline might be installed onto /dev/nmdmXX).
the problem is easy to reproduce - just open /dev/nmdm0A and install,
say, ng_tty(4) line discipline onto it. after that, simply close the
/dev/nmdm0A. in theory, the ng_tty(4) node should disappear when
device is closed, but it does not.
when I originally wrote this I copied what the pty code was doing.
This has all been redone since then however.
I'm guessing it should do whatever the pty code is now doing :-) .
the following patch fixes things for me
===
beetle% diff -u nmdm.c.orig nmdm.c
--- nmdm.c.orig 2006-11-21 16:59:40.000000000 -0800
+++ nmdm.c 2007-07-26 17:01:47.000000000 -0700
@@ -402,7 +402,7 @@
nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td)
{
- return (tty_close(dev->si_tty));
+ return (ttyclose(dev, flag, mode, td));
sounds believable..
but I don't really know offhand.
does it work with other disciplines?
}
static void
===
please review and let me know if this is ok to commit. please ignore
tabs-to-spaces conversion. its just cut-and-paste from the screen.
thanks,
max
p.s. i also think ng_tty(4) should use NG_NODE_REVIVE() is its not dying.
_______________________________________________
freebsd-current_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe_(_at_)_freebsd_(_dot_)_org"
_______________________________________________
freebsd-current_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe_(_at_)_freebsd_(_dot_)_org"
Visit your host, monkey.org