cvs commit: src/sys/kern tty_pty.c

Martin Blapp mb at imp.ch
Fri Sep 29 14:09:55 PDT 2006


Hi,

> I think I found the bug while looking for problems near vgonel().  We're
> nowhere near ready to free devices in in last-close, since vgonel() doesn't
> do anything to evict processes from device functions before it forces the
> device closed.  Drivers must be aware of the problem.  The tty driver
> already is.  See the comments about t_gen near tty_close() and ttysleep().
> t_gen must live across close so that any processes in device functions can
> check it after they wake up, and the tty and device data structures must
> live across last- close to hold t_gen and anything else needed for the
> device functions to return.  Sleeping device functions normally wake up
> after last-close returns.

So what can we do to destroy devices after last close ? Mark them with some
flag and handle this during device operations ?

Martin


More information about the cvs-src mailing list