## Tcl8.6.0/Tk8.6.0 Documentation > Tcl C API, version 8.6.0 > CrtCloseHdlr

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_CreateCloseHandler, Tcl_DeleteCloseHandler — arrange for callbacks when channels are closed
  SYNOPSIS
    #include <tcl8.6/tcl.h>
    void
    Tcl_CreateCloseHandler(channel, proc, clientData)
    void
    Tcl_DeleteCloseHandler(channel, proc, clientData)
  ARGUMENTS
  DESCRIPTION
  SEE ALSO
  KEYWORDS

### NAME

Tcl_CreateCloseHandler, Tcl_DeleteCloseHandler — arrange for callbacks when channels are closed

### SYNOPSIS

#include <tcl8.6/tcl.h>
void
Tcl_CreateCloseHandler(channel, proc, clientData)
void
Tcl_DeleteCloseHandler(channel, proc, clientData)

### ARGUMENTS

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.

### DESCRIPTION

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.

### SEE ALSO

close, Tcl_Close, Tcl_UnregisterChannel

### KEYWORDS

callback, channel closing
Copyright © 1994-1996 Sun Microsystems, Inc.