48 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <HTML><HEAD><TITLE>Tcl Built-In Commands - close manual page</TITLE></HEAD><BODY>
 | |
| <H3><A NAME="M2">NAME</A></H3>
 | |
| close - Close an open channel.
 | |
| <H3><A NAME="M3">SYNOPSIS</A></H3>
 | |
| <B>close </B><I>channelId</I><BR>
 | |
| <H3><A NAME="M4">DESCRIPTION</A></H3>
 | |
| Closes the channel given by <I>channelId</I>.  <I>ChannelId</I> must be a
 | |
| channel identifier such as the return value from a previous <B><A HREF="../TkCmd/open.htm">open</A></B>
 | |
| or <B><A HREF="../TkCmd/socket.htm">socket</A></B> 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 <I>channelId</I> becomes unavailable for use.
 | |
| <P>
 | |
| 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.
 | |
| <P>
 | |
| If <I>channelId</I> is a blocking channel for a command pipeline then
 | |
| <B>close</B> waits for the child processes to complete.
 | |
| <P>
 | |
| If the channel is shared between interpreters, then <B>close</B>
 | |
| makes <I>channelId</I> 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
 | |
| <B>close</B>, the cleanup actions described above occur. See the
 | |
| <B><A HREF="../TkCmd/interp.htm">interp</A></B> command for a description of channel sharing.
 | |
| <P>
 | |
| 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.
 | |
| <P>
 | |
| The command returns an empty string, and may generate an error if
 | |
| an error occurs while flushing output.
 | |
| 
 | |
| <H3><A NAME="M5">SEE ALSO</A></H3>
 | |
| <B><A HREF="../TkCmd/file.htm">file</A></B>, <B><A HREF="../TkCmd/open.htm">open</A></B>, <B><A HREF="../TkCmd/socket.htm">socket</A></B>, <B><A HREF="../TkCmd/eof.htm">eof</A></B>
 | |
| <H3><A NAME="M6">KEYWORDS</A></H3>
 | |
| <A href="../Keywords/B.htm#blocking">blocking</A>, <A href="../Keywords/C.htm#channel">channel</A>, <A href="../Keywords/C.htm#close">close</A>, <A href="../Keywords/N.htm#nonblocking">nonblocking</A>
 | |
| <HR><PRE>
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1993 The Regents of the University of California.
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1994-1996 Sun Microsystems, Inc.
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
 | |
| </BODY></HTML>
 | 
