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


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

int
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.


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 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.

KEYWORDS

callback, end application, exit


Table of Contents