'\" te
.\" Copyright (c) 1998, Sun Microsystems, Inc. All Rights Reserved.
.\" Copyright (c) 1980 Regents of the University of California.  All rights reserved.  The Berkeley software License Agreement  specifies the terms and conditions for redistribution.
.TH VHANGUP 2 "Mar 19, 1998"
.SH NAME
vhangup \- virtually "hangup" the current controlling terminal
.SH SYNOPSIS
.LP
.nf
#include <unistd.h>

\fBvoid\fR \fBvhangup\fR(\fBvoid\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBvhangup()\fR function is used by the initialization process
\fBinit\fR(1M) (among others) to ensure that users are given "clean" terminals
at login by revoking access of the previous users' processes to the terminal.
To effect this, \fBvhangup()\fR searches the system tables for references to
the controlling terminal of the invoking process and revokes 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 (\fBEBADF\fR or
\fBEIO\fR). A \fBSIGHUP\fR (hangup signal) is sent to the process group of the
controlling terminal.
.SH SEE ALSO
.sp
.LP
\fBinit\fR(1M)
.SH BUGS
.sp
.LP
Access to the controlling terminal using \fB/dev/tty\fR is still possible.
.sp
.LP
This call should be replaced by an automatic mechanism that takes place on
process exit.