diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2007-11-26 19:11:10 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2007-11-26 19:11:10 (GMT) |
commit | 5b704020810cc6cd47e7e04537036e7e2c3fdf37 (patch) | |
tree | 6b66f0c497cf01b947a8bf6dcf4d6470bf62e40d /generic | |
parent | ce1010952e733cc42cf091dcfa28c2ad3dc14a9b (diff) | |
download | tcl-5b704020810cc6cd47e7e04537036e7e2c3fdf37.zip tcl-5b704020810cc6cd47e7e04537036e7e2c3fdf37.tar.gz tcl-5b704020810cc6cd47e7e04537036e7e2c3fdf37.tar.bz2 |
* generic/tclBasic.c:
* generic/tclInt.h:
* unix/tclUnixInit.c:
* unix/tclUnixThrd.c: Fix stack checking via workaround for bug in
glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks
to Sergei Golovan (aka Teo) for detecting the bug and helping
diagnose and develop the fix.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclBasic.c | 9 | ||||
-rw-r--r-- | generic/tclInt.h | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index bf8d8dc..0741813 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.284 2007/11/23 22:11:31 dkf Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.285 2007/11/26 19:11:11 msofer Exp $ */ #include "tclInt.h" @@ -831,6 +831,13 @@ Tcl_CreateInterp(void) Tcl_Panic(Tcl_GetString(Tcl_GetObjResult(interp))); } + /* + * Insure that the stack checking mechanism for this interp is + * initialized. + */ + + TclInterpReady(interp); + return interp; } diff --git a/generic/tclInt.h b/generic/tclInt.h index 260b36a..48e4eac 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclInt.h,v 1.352 2007/11/23 15:00:24 dkf Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.353 2007/11/26 19:11:12 msofer Exp $ */ #ifndef _TCLINT @@ -2621,7 +2621,7 @@ MODULE_SCOPE void * TclpThreadDataKeyGet(Tcl_ThreadDataKey *keyPtr); MODULE_SCOPE void TclpThreadDataKeySet(Tcl_ThreadDataKey *keyPtr, void *data); MODULE_SCOPE void TclpThreadExit(int status); -MODULE_SCOPE int TclpThreadGetStackSize(void); +MODULE_SCOPE size_t TclpThreadGetStackSize(void); MODULE_SCOPE void TclRememberCondition(Tcl_Condition *mutex); MODULE_SCOPE void TclRememberJoinableThread(Tcl_ThreadId id); MODULE_SCOPE void TclRememberMutex(Tcl_Mutex *mutex); |