diff options
| author | mig <mig> | 2012-02-06 16:46:17 (GMT) |
|---|---|---|
| committer | mig <mig> | 2012-02-06 16:46:17 (GMT) |
| commit | 79b4e6008f075b3083ad12de88d6f21a85bda024 (patch) | |
| tree | 61bb17debaf1681940374fbcaff97b26005846c3 /generic/tclTrace.c | |
| parent | d66144c316807d6c61beddfcd9e9baa2124c0052 (diff) | |
| parent | 2ead6e390d65cb8e790f55071ae0bbaf9ed795b0 (diff) | |
| download | tcl-79b4e6008f075b3083ad12de88d6f21a85bda024.zip tcl-79b4e6008f075b3083ad12de88d6f21a85bda024.tar.gz tcl-79b4e6008f075b3083ad12de88d6f21a85bda024.tar.bz2 | |
Fix for [Bug 3484621]: insure that execution traces on bytecoded commands bump the interp's compile epoch.
Diffstat (limited to 'generic/tclTrace.c')
| -rw-r--r-- | generic/tclTrace.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/generic/tclTrace.c b/generic/tclTrace.c index 13359ee..c1cae76 100644 --- a/generic/tclTrace.c +++ b/generic/tclTrace.c @@ -1126,6 +1126,16 @@ Tcl_TraceCommand( if (tracePtr->flags & TCL_TRACE_ANY_EXEC) { cmdPtr->flags |= CMD_HAS_EXEC_TRACES; } + + /* + * Bug 3484621: up the interp's epoch if this is a BC'ed command + */ + + if (cmdPtr->compileProc != NULL) { + Interp *iPtr = (Interp *) interp; + iPtr->compileEpoch++; + } + return TCL_OK; } @@ -1228,6 +1238,15 @@ Tcl_UntraceCommand( */ cmdPtr->flags &= ~CMD_HAS_EXEC_TRACES; + + /* + * Bug 3484621: up the interp's epoch if this is a BC'ed command + */ + + if (cmdPtr->compileProc != NULL) { + Interp *iPtr = (Interp *) interp; + iPtr->compileEpoch++; + } } } |
