diff options
| author | griffin <briang42@easystreet.net> | 2023-05-17 16:12:25 (GMT) |
|---|---|---|
| committer | griffin <briang42@easystreet.net> | 2023-05-17 16:12:25 (GMT) |
| commit | fa313109d6a46e437c1583c859b6e79e0a6dae2a (patch) | |
| tree | 24c58bd9cb94b68f79b8f553976513202b3c9bdc /generic/tclIO.c | |
| parent | 6781fbdf4b3832134bd23990d3cab8b9a4c8a8fe (diff) | |
| parent | a038d4aad3a0cc42c2c3028f816f6e50443a42f1 (diff) | |
| download | tcl-fa313109d6a46e437c1583c859b6e79e0a6dae2a.zip tcl-fa313109d6a46e437c1583c859b6e79e0a6dae2a.tar.gz tcl-fa313109d6a46e437c1583c859b6e79e0a6dae2a.tar.bz2 | |
Merge trunk
Diffstat (limited to 'generic/tclIO.c')
| -rw-r--r-- | generic/tclIO.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 987f6b9..965a395 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -205,7 +205,7 @@ static int FlushChannel(Tcl_Interp *interp, Channel *chanPtr, int calledFromAsyncFlush); static int TclGetsObjBinary(Tcl_Channel chan, Tcl_Obj *objPtr); static Tcl_Encoding GetBinaryEncoding(void); -static Tcl_ExitProc FreeBinaryEncoding; +static void FreeBinaryEncoding(void); static Tcl_HashTable * GetChannelTable(Tcl_Interp *interp); static int GetInput(Channel *chanPtr); static void PeekAhead(Channel *chanPtr, char **dstEndPtr, @@ -695,6 +695,7 @@ TclFinalizeIOSubsystem(void) } } + FreeBinaryEncoding(); TclpFinalizeSockets(); TclpFinalizePipes(); } @@ -5290,8 +5291,7 @@ TclGetsObjBinary( */ static void -FreeBinaryEncoding( - TCL_UNUSED(void *)) +FreeBinaryEncoding(void) { ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); @@ -5308,7 +5308,6 @@ GetBinaryEncoding(void) if (tsdPtr->binaryEncoding == NULL) { tsdPtr->binaryEncoding = Tcl_GetEncoding(NULL, "iso8859-1"); - Tcl_CreateThreadExitHandler(FreeBinaryEncoding, NULL); } if (tsdPtr->binaryEncoding == NULL) { Tcl_Panic("binary encoding is not available"); @@ -10206,7 +10205,7 @@ DoRead( == (CHANNEL_EOF|CHANNEL_BLOCKED))); UpdateInterest(chanPtr); TclChannelRelease((Tcl_Channel)chanPtr); - return (int)(p - dst); + return (Tcl_Size)(p - dst); } /* |
