summaryrefslogtreecommitdiffstats
path: root/generic/tclInterp.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-02-25 16:41:46 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-02-25 16:41:46 (GMT)
commit3461d3129afc759c926e71f7a3f3334c2a2c3832 (patch)
tree3f8a55faf330a9a983131443fcddde5f4c27f483 /generic/tclInterp.c
parentab043720ba05c7b8ada42e6f81dfc27178b9ee5b (diff)
parent03459bb0e1db5fd78e217ee768fe0ee1869ce9a7 (diff)
downloadtcl-3461d3129afc759c926e71f7a3f3334c2a2c3832.zip
tcl-3461d3129afc759c926e71f7a3f3334c2a2c3832.tar.gz
tcl-3461d3129afc759c926e71f7a3f3334c2a2c3832.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 d5d43ed..1a4297b 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:
*/