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 _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"