summaryrefslogtreecommitdiffstats
path: root/generic/tclInterp.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-02-25 16:35:07 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-02-25 16:35:07 (GMT)
commit03459bb0e1db5fd78e217ee768fe0ee1869ce9a7 (patch)
tree6f4c6fabfca8b30a55c1e0a5d7a19090917784a8 /generic/tclInterp.c
parentd42bd814b5a7244586c488cbb7dd09d927949a4b (diff)
downloadtcl-03459bb0e1db5fd78e217ee768fe0ee1869ce9a7.zip
tcl-03459bb0e1db5fd78e217ee768fe0ee1869ce9a7.tar.gz
tcl-03459bb0e1db5fd78e217ee768fe0ee1869ce9a7.tar.bz2
LimitHandler struct used only locally. Remove from tclInt.h.
Diffstat (limited to 'generic/tclInterp.c')
-rw-r--r--generic/tclInterp.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/generic/tclInterp.c b/generic/tclInterp.c
index 058714f..0231909 100644
--- a/generic/tclInterp.c
+++ b/generic/tclInterp.c
@@ -179,6 +179,37 @@ typedef struct ScriptLimitCallbackKey {
} ScriptLimitCallbackKey;
/*
+ * TIP#143 limit handler internal representation.
+ */
+
+struct LimitHandler {
+ int flags; /* The state of this particular handler. */
+ Tcl_LimitHandlerProc *handlerProc;
+ /* The handler callback. */
+ ClientData clientData; /* Opaque argument to the handler callback. */
+ Tcl_LimitHandlerDeleteProc *deleteProc;
+ /* How to delete the clientData. */
+ LimitHandler *prevPtr; /* Previous item in linked list of
+ * handlers. */
+ LimitHandler *nextPtr; /* Next item in linked list of handlers. */
+};
+
+/*
+ * Values for the LimitHandler flags field.
+ * LIMIT_HANDLER_ACTIVE - Whether the handler is currently being
+ * processed; handlers are never to be entered reentrantly.
+ * LIMIT_HANDLER_DELETED - Whether the handler has been deleted. This
+ * should not normally be observed because when a handler is
+ * deleted it is also spliced out of the list of handlers, but
+ * even so we will be careful.
+ */
+
+#define LIMIT_HANDLER_ACTIVE 0x01
+#define LIMIT_HANDLER_DELETED 0x02
+
+
+
+/*
* Prototypes for local static functions:
*/