Tcl7.6 C API Man Page -- Exit (n)
Table of Contents


Tcl_Exit, Tcl_CreateExitHandler, Tcl_DeleteExitHandler - end the application (and invoke exit handlers)


#include <tcl.h>


Tcl_CreateExitHandler(proc, clientData)

Tcl_DeleteExitHandler(proc, clientData)


status (in) Provides information about why application exited. Exact meaning may be platformspecific. 0 usually means a normal exit, 1 means that an error occurred.

Tcl_ExitProc *proc (in) Procedure to invoke before exiting application.

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


Tcl_Exit is the procedure that is invoked to end a Tcl application. It is invoked by the exit command, as well as anyplace else that terminates the application. No-one should ever invoke the exit procedure directly; always invoke Tcl_Exit instead, so that it can invoke exit handlers.

Tcl_CreateExitHandler arranges for proc to be invoked by Tcl_Exit before it terminates the application. This provides a hook for cleanup operations such as flushing buffers and freeing global memory. Proc should have arguments and return value that match the type Tcl_ExitProc: typedef void Tcl_ExitProc(ClientData clientData); The clientData parameter to proc is a copy of the clientData argument given to Tcl_CreateExitHandler when the callback was created. Typically, clientData points to a data structure containing application-specific information about what to do in proc.

Tcl_DeleteExitHandler may be called to delete a previouslycreated exit handler. It removes the handler indicated by proc and clientData so that no call to proc will be made. If no such handler exists then Tcl_DeleteExitHandler does nothing.


callback, end application, exit

Table of Contents