Tcl_CreateCloseHandler, Tcl_DeleteCloseHandler - arrange for callbacks when channels are closed


#include <tcl.h>

void Tcl_CreateCloseHandler(channel, proc, clientData)

void Tcl_DeleteCloseHandler(channel, proc, clientData)


Tcl_Channel channel (in)
The channel for which to create or delete a close callback.

Tcl_CloseProc *proc (in)
The procedure to call as the callback.

ClientData clientData (in)
Arbitrary one-word value to pass to proc.


Tcl_CreateCloseHandler arranges for proc to be called when channel is closed with Tcl_Close or Tcl_UnregisterChannel, or using the Tcl close command. Proc should match the following prototype:

typedef void Tcl_CloseProc(
	ClientData clientData);

The clientData is the same as the value provided in the call to Tcl_CreateCloseHandler.

Tcl_DeleteCloseHandler removes a close callback for channel. The proc and clientData identify which close callback to remove; Tcl_DeleteCloseHandler does nothing if its proc and clientData arguments do not match the proc and clientData for a close handler for channel.


close, Tcl_Close(3), Tcl_UnregisterChannel(3)


callback, channel closing