60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
'\"
|
|
'\" Copyright (c) 1993 The Regents of the University of California.
|
|
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
|
|
'\"
|
|
'\" See the file "license.terms" for information on usage and redistribution
|
|
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
'\"
|
|
'\" SCCS: @(#) close.n 1.10 96/02/15 20:01:34
|
|
'\"
|
|
.so man.macros
|
|
.TH close n 7.5 Tcl "Tcl Built-In Commands"
|
|
.BS
|
|
'\" Note: do not modify the .SH NAME line immediately below!
|
|
.SH NAME
|
|
close \- Close an open channel.
|
|
.SH SYNOPSIS
|
|
\fBclose \fIchannelId\fR
|
|
.BE
|
|
|
|
.SH DESCRIPTION
|
|
.PP
|
|
Closes the channel given by \fIchannelId\fR. \fIChannelId\fR must be a
|
|
channel identifier such as the return value from a previous \fBopen\fR
|
|
or \fBsocket\fR command.
|
|
All buffered output is flushed to the channel's output device,
|
|
any buffered input is discarded, the underlying file or device is closed,
|
|
and \fIchannelId\fR becomes unavailable for use.
|
|
.VS br
|
|
.PP
|
|
If the channel is blocking, the command does not return until all output
|
|
is flushed.
|
|
If the channel is nonblocking and there is unflushed output, the
|
|
channel remains open and the command
|
|
returns immediately; output will be flushed in the background and the
|
|
channel will be closed when all the flushing is complete.
|
|
.VE
|
|
.PP
|
|
If \fIchannelId\fR is a blocking channel for a command pipeline then
|
|
\fBclose\fR waits for the child processes to complete.
|
|
.VS br
|
|
.PP
|
|
If the channel is shared between interpreters, then \fBclose\fR
|
|
makes \fIchannelId\fR unavailable in the invoking interpreter but has no
|
|
other effect until all of the sharing interpreters have closed the
|
|
channel.
|
|
When the last interpreter in which the channel is registered invokes
|
|
\fBclose\fR, the cleanup actions described above occur. See the
|
|
\fBinterp\fR command for a description of channel sharing.
|
|
.PP
|
|
Channels are automatically closed when an interpreter is destroyed and
|
|
when the process exits. Channels are switched to blocking mode, to ensure
|
|
that all output is correctly flushed before the process exits.
|
|
.VE
|
|
.PP
|
|
The command returns an empty string, and may generate an error if
|
|
an error occurs while flushing output.
|
|
|
|
.SH KEYWORDS
|
|
blocking, channel, close, nonblocking
|