diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclIO.c | 2 | ||||
-rw-r--r-- | generic/tclStubLib.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 5bd0e2a..0568d77 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -2472,7 +2472,7 @@ FlushChannel( * it's a tty channel (dup'ed underneath) */ - if (!GotFlag(statePtr, BG_FLUSH_SCHEDULED)) { + if (!GotFlag(statePtr, BG_FLUSH_SCHEDULED) && !TclInExit()) { SetFlag(statePtr, BG_FLUSH_SCHEDULED); UpdateInterest(chanPtr); } diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c index e48e60b..720d9ef 100644 --- a/generic/tclStubLib.c +++ b/generic/tclStubLib.c @@ -79,6 +79,7 @@ TclInitStubs( int magic) { const char *actualVersion = NULL; + ClientData pkgData = NULL; const TclStubs *stubsPtr; /* @@ -92,7 +93,7 @@ TclInitStubs( return NULL; } - actualVersion = stubsPtr->tcl_PkgRequireEx(interp, "Tcl", version, 0, NULL); + actualVersion = stubsPtr->tcl_PkgRequireEx(interp, "Tcl", version, 0, &pkgData); if (actualVersion == NULL) { return NULL; } @@ -122,7 +123,7 @@ TclInitStubs( } } } - tclStubsPtr = stubsPtr; + tclStubsPtr = (TclStubs *)pkgData; if (tclStubsPtr->hooks) { tclPlatStubsPtr = tclStubsPtr->hooks->tclPlatStubs; |