Tcl_Exit(3)

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

SYNOPSIS
#include <tcl.h>

Tcl_Exit(status)

Tcl_CreateExitHandler(proc, clientData)

Tcl_DeleteExitHandler(proc, clientData)

ARGUMENTS
Provides information about why application exited. Exact meaning may be platform-specific. 0 usually means a normal exit, 1 means that an error occurred. Procedure to invoke before exiting application. Arbitrary one-word value to pass to proc.

DESCRIPTION

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.

KEYWORDS
callback, end application, exit