* If a tty is owned by one devfs mount and programs are run which open/close
the tty in a different devfs mount, the last-close test will get confused
and believe that the last close in the second mount is the last close on
the device, when the first mount still has it open.

* Temporarily hack a fix which is not SMP safe to deal with the situation.
A proper fix requires us to put a struct lock and an opencount field in
the struct cdev itself and use that instead of v_opencount.

* Fixes issue with 'screen' exiting when sub-processes are run inside a
chroot (with their own /dev mount).