void vhangup(void);
vhangup() is used by the initialization process init(1M) (among others) to arrange that users are given ‘clean’ terminals at login, by revoking access of the previous users’ processes to the terminal. To effect this, vhangup() searches the system tables for references to the controlling terminal of the invoking process, revoking access permissions on each instance of the terminal that it finds. Further attempts to access the terminal by the affected processes will yield I/O errors (EBADF or EIO ). Finally, a SIGHUP (hangup signal) is sent to the process group of the controlling terminal.
This call should be replaced by an automatic mechanism that takes place on process exit.