'\" '\" Copyright (c) 1995-1996 Sun Microsystems, Inc. '\" '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" SCCS: @(#) Exit.3 1.4 96/03/25 20:02:50 '\" .so man.macros .TH Tcl_Exit 3 7.5 Tcl "Tcl Library Procedures" .BS .SH NAME Tcl_Exit, Tcl_CreateExitHandler, Tcl_DeleteExitHandler \- end the application (and invoke exit handlers) .SH SYNOPSIS .nf \fB#include \fR .sp \fBTcl_Exit\fR(\fIstatus\fR) .sp \fBTcl_CreateExitHandler\fR(\fIproc, clientData\fR) .sp \fBTcl_DeleteExitHandler\fR(\fIproc, clientData\fR) .SH ARGUMENTS .AS Tcl_ExitProc clientData .AP 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. .AP Tcl_ExitProc *proc in Procedure to invoke before exiting application. .AP ClientData clientData in Arbitrary one-word value to pass to \fIproc\fR. .BE .SH DESCRIPTION .PP \fBTcl_Exit\fR is the procedure that is invoked to end a Tcl application. It is invoked by the \fBexit\fR command, as well as anyplace else that terminates the application. No-one should ever invoke the \fBexit\fR procedure directly; always invoke \fBTcl_Exit\fR instead, so that it can invoke exit handlers. .PP \fBTcl_CreateExitHandler\fR arranges for \fIproc\fR to be invoked by \fBTcl_Exit\fR before it terminates the application. This provides a hook for cleanup operations such as flushing buffers and freeing global memory. \fIProc\fR should have arguments and return value that match the type \fBTcl_ExitProc\fR: .CS typedef void Tcl_ExitProc(ClientData \fIclientData\fR); .CE The \fIclientData\fR parameter to \fIproc\fR is a copy of the \fIclientData\fR argument given to \fBTcl_CreateExitHandler\fR when the callback was created. Typically, \fIclientData\fR points to a data structure containing application-specific information about what to do in \fIproc\fR. .PP \fBTcl_DeleteExitHandler\fR may be called to delete a previously-created exit handler. It removes the handler indicated by \fIproc\fR and \fIclientData\fR so that no call to \fIproc\fR will be made. If no such handler exists then \fBTcl_DeleteExitHandler\fR does nothing. .SH KEYWORDS callback, end application, exit