Free tty at detach().

Tested by:	`pstat -t`
Requested by:	phk
This commit is contained in:
Roman Kurakin 2004-06-10 13:50:28 +00:00
parent 7ad8bf410d
commit 2a8436eae5

View File

@ -1037,6 +1037,14 @@ static int cx_detach (device_t dev)
if (!d || d->chan->type == T_NONE)
continue;
#if __FreeBSD_version >= 502113
if (d->tty) {
ttyrel (d->tty);
d->tty = NULL;
}
#endif
#ifdef NETGRAPH
#if __FreeBSD_version >= 500000
if (d->node) {
@ -1735,7 +1743,13 @@ static int cx_close (dev_t dev, int flag, int mode, struct thread *td)
splx (s);
d->callout = 0;
/* Wake up bidirectional opens. */
/*
* Wake up bidirectional opens.
* Since we may be opened twice we couldn't call ttyrel() here.
* So just keep d->tty for future use. It would be freed by
* ttyrel() at cx_detach().
*/
wakeup (d);
d->open_dev &= ~0x2;