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


#include <tcl.h>
Tcl_CreateExitHandler(proc, clientData)
Tcl_DeleteExitHandler(proc, clientData)


int status (in)
Provides information about why application exited. Exact meaning may be platform-specific. 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 previously-created 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
Copyright © 1995-1996 Sun Microsystems, Inc.
Copyright © 1995, 1996 Roger E. Critchlow Jr.