Tcl_CallWhenDeleted - Arrange for callback when interpreter is deleted
#include <tcl.h> Tcl_CallWhenDeleted(interp, proc, clientData) Tcl_DontCallWhenDeleted(interp, proc, clientData)
Tcl_CallWhenDeleted(3tcl) Tcl Library Procedures Tcl_CallWhenDeleted(3tcl)
______________________________________________________________________________
NAME
Tcl_CallWhenDeleted, Tcl_DontCallWhenDeleted - Arrange for callback
when interpreter is deleted
SYNOPSIS
#include <tcl.h>
Tcl_CallWhenDeleted(interp, proc, clientData)
Tcl_DontCallWhenDeleted(interp, proc, clientData)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter with which to
associated callback.
Tcl_InterpDeleteProc *proc (in) Procedure to call when
interp is deleted.
ClientData clientData (in) Arbitrary one-word value
to pass to proc.
______________________________________________________________________________
DESCRIPTION
Tcl_CallWhenDeleted arranges for proc to be called by Tcl_DeleteInterp
if/when interp is deleted at some future time. Proc will be invoked
just before the interpreter is deleted, but the interpreter will still
be valid at the time of the call. Proc should have arguments and
result that match the type Tcl_InterpDeleteProc:
typedef void Tcl_InterpDeleteProc(
ClientData clientData,
Tcl_Interp *interp);
The clientData and interp parameters are copies of the clientData and
interp arguments given to Tcl_CallWhenDeleted. Typically, clientData
points to an application-specific data structure that proc uses to per-
form cleanup when an interpreter is about to go away. Proc does not
return a value.
Tcl_DontCallWhenDeleted cancels a previous call to Tcl_CallWhenDeleted
with the same arguments, so that proc will not be called after all when
interp is deleted. If there is no deletion callback that matches
interp, proc, and clientData then the call to Tcl_DontCallWhenDeleted
has no effect.
Note that if the callback is being used to delete a resource that must
be released on exit, Tcl_CreateExitHandler should be used to ensure
that a callback is received even if the application terminates without
deleting the interpreter.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | runtime/tcl-8 |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
SEE ALSO
Tcl_CreateExitHandler(3), Tcl_CreateThreadExitHandler(3)
KEYWORDS
callback, cleanup, delete, interpreter
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from http://prdownloads.sourceforge.net/tcl/tcl-
core8.6.7-src.tar.gz.
Further information about this software can be found on the open source
community website at https://www.tcl.tk/.
Tcl 7.0 Tcl_CallWhenDeleted(3tcl)