Tcl Source Code

All files named ”generic/tclThreadStorage.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for generic/tclThreadStorage.c

2026-05-22
08:13
Bug [e55a589d2b] - crash on finalization with another thread active. file: 2ec0dc6b0c check-in: [429cd8cdf3] user: apnadkarni branch: bug-e55a589d2b, size: 9925
2026-04-30
14:52
Fix formatting of function-level comments file: 01f45bc1fb check-in: [3dc5544544] user: dkf branch: main, size: 8887
2025-08-17
11:25
More bools and pieces file: 42a5f11132 check-in: [28a7d957c7] user: dkf branch: c-std-update, size: 8888
2025-07-19
12:31
More moving of variable declarations file: 8ad3fb45b2 check-in: [c149575323] user: dkf branch: c-std-update, size: 8868
2025-01-24
09:40
More WS... file: da3c81b083 check-in: [0e28e62952] user: dkf branch: whitespace-fix, size: 8886
2024-08-28
16:33
Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: bc521312e6 check-in: [627781a6db] user: pooryorick branch: unchained, size: 9260
2024-07-20
15:59
Merge trunk [91c2f411e7e71552], TIP #636 (tip-636-tcl9-644), resolve all conflicts including those resulting from conflicting Tcl_Obj interface implementations, and relicense under GNU Affero General Public License. All tests pass. file: 39c9dec7c8 check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 9259
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: e275c0713d check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 8890
2022-06-08
10:23
TIP #616: Tcl lists > 2^31 elements file: a24cc4e0e8 check-in: [574358cda4] user: jan.nijtmans branch: main, size: 8889
2020-12-08
15:42
Merge 8.7 file: 7d56410e24 check-in: [71493b571b] user: jan.nijtmans branch: main, size: 8899
15:31
Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet file: 79838df725 check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 8903
2020-07-21
07:54
Merge 8.7 file: 5ad1a265ea check-in: [b23af47e56] user: jan.nijtmans branch: trunk, size: 8907
2020-07-20
14:58
Merge 8.6 file: 3562314fc3 check-in: [2f045a43d6] user: jan.nijtmans branch: core-8-branch, size: 8911
14:25
Use "Global" in stead of "Master" internally, where "Master" is not used in the Master-Slave paradigm and where this makes sense. file: f754a7a1cc check-in: [9fbbf06bfc] user: jan.nijtmans branch: core-8-6-branch, size: 8857
2020-07-13
14:24
More WIP file: d324a5fc6e check-in: [38b4e0ed91] user: jan.nijtmans branch: no-master-slave, size: 8847
12:03
(Experiment): What happens if we purge all usages of Master/Slave from Tcl. Highly experimental, not meant for Tcl 8.6.11! file: 0278d5e851 check-in: [f9ba684c6b] user: jan.nijtmans branch: no-master-slave, size: 8857
2020-02-28
12:46
Merge 8.7 file: 784910192a check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 8926
2019-07-10
05:51
Merge 8.7, and continue implementation. Almost done file: f43b06cc7c check-in: [237cdadf3f] user: jan.nijtmans branch: cplusplus, size: 8939
2018-09-01
22:01
Change ckalloc and friends to Tcl_Alloc and friends. Add two defines, TCL_IO_FAILURE and TCL_NO_LENGTH (experimental, still open to be renamed following discussion) file: 5eef2ce4f7 check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 8869
2018-05-23
19:41
merge trunk file: 807560ff88 check-in: [c78f328143] user: jan.nijtmans branch: novem, size: 8867
2018-05-22
20:57
merge 8.7 file: 5eeec5b088 check-in: [b0fbde34ff] user: jan.nijtmans branch: trunk, size: 8873
20:53
Simplify usage of TCL_THREAD, along the lines of [eeddb0693a950be980a66de3811630a00c7bab54|eeddb0693a]. Suggested by DKF file: 5d09e926f5 check-in: [bf06e36b25] user: jan.nijtmans branch: core-8-branch, size: 8882
2018-05-17
19:05
Merge 8.7, but keep TCL_THREADS undefined in tcl.h (since that's no longer necessary) file: eae410ae7d check-in: [f2c996cdb8] user: jan.nijtmans branch: trunk, size: 8898
18:53
TIP #491 implementation: Threading Support: phasing out non-threaded builds file: cd9f52e25c check-in: [e9ee6fc387] user: jan.nijtmans branch: core-8-branch, size: 8907
2017-11-16
11:17
re-base "novem-more-memory-API" to trunk. TIP not submitted yet, but upcoming. file: 9d222044ea check-in: [3cb46ea71b] user: jan.nijtmans branch: memory-API, size: 8879
2016-12-01
11:20
More internal use of size_t. Eliminate unused "isBin" argument from TclpSysAlloc() file: a41a99c009 check-in: [9d4cd6b1aa] user: jan.nijtmans branch: novem, size: 8870
2015-10-04
10:27
merge trunk file: 59be173fbb check-in: [e58f76013c] user: jan.nijtmans branch: novem, size: 8876
10:20
Eliminate unnessessary end-of-line spacing. No functional change. file: 733e94bb78 check-in: [7caaf52e89] user: jan.nijtmans branch: trunk, size: 8885
10:10
Eliminate unnessessary end-of-line spacing. No functional change. file: 52ca327236 check-in: [c8dd06d2fa] user: jan.nijtmans branch: core-8-5-branch, size: 15745
2013-10-28
23:39
Add experimental new Tcl API Tcl_UnsetThreadData. file: 828b3522ae check-in: [f6b2f8b451] user: mistachkin branch: unsetThreadData, size: 17790
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: 84c30eeab0 check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 8879
2011-03-12
15:06
Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts in rest of Tcl source code. No ABI change. API change *should* be harmless. file: bc32e1d141 check-in: [5574bdd262] user: dkf branch: trunk, size: 8888
2011-03-02
20:27
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them (except in zlib files). file: 887d5871db check-in: [c64f310d38] user: dgp branch: trunk, size: 8897
16:06
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: fe447c184b check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 15757
2010-11-18
10:11
Next slice. file: 743ce9a877 check-in: [16246c5c13] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 8979
2010-04-03
09:38
Added VALGRIND define so we can silence helgrind race-report at places we know we cheated on in order to reduce contention. file: 9c27897c11 check-in: [78f741e1b3] user: vasiljevic branch: core-8-5-branch, size: 15845
2010-04-02
15:53
* generic/tclThreadStorage.c (ThreadStorageGetHashTable): avoid accessing shared table index w/o mutex protection. file: 2564624e7b check-in: [5675442706] user: vasiljevic branch: core-8-5-branch, size: 14611
2009-12-22
04:42
merge updates from HEAD file: be919a51d7 check-in: [9fdc8d03f3] user: dgp branch: dgp-refactor, size: 8978
2009-12-21
23:25
Various CYGWIN-related fixes. In the win32 configure script, CYGWIN is still not enabled yet, but at least it is a step in the right direction. file: 53b281d3fc check-in: [dca4a9980e] user: nijtmans branch: trunk, size: 8979
2009-03-16
15:29
merge updates from HEAD file: 222b36e270 check-in: [26ed7b54e1] user: dgp branch: dgp-refactor, size: 8972
00:43
revise fix for [Bug 2687952] file: 9260939d42 check-in: [f409096899] user: mistachkin branch: trunk, size: 8975
2009-03-15
22:34
Fix [Bug 2687952] file: 7e78514a6d check-in: [520dda1d96] user: dkf branch: trunk, size: 8973
2008-12-01
16:44
merge updates from HEAD file: 80d081886f check-in: [0b028f5cf6] user: dgp branch: dgp-refactor, size: 8658
2008-11-29
12:18
Code now simple enough that we can improve its performance by applying the double-checked locking pattern. file: 0b64723784 check-in: [3f0a0fe4bc] user: dkf branch: trunk, size: 8654
12:15
Improvements to the general readability of the TSD implementation. file: c5fbe19d92 check-in: [0df4a7b29c] user: dkf branch: trunk, size: 8429
2008-05-11
04:22
merge updates from HEAD file: 7ace527714 check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 6508
2008-05-09
04:58
* generic/tcl.h: Make Tcl_ThreadDataKey a void *. * generic/tclInt.h: Change around some function names and add some new per-platform declarations for thread-specific data functions. * generic/tclThread.c: Make use of of the new function names that no longer have a Tclp prefix. * generic/tclThreadStorage.c: Replace the core thread-specific data (TSD) mechanism with an array offset solution that eliminates the hash tables, and only uses one slot of native TSD. Many thanks to Kevin B. Kenny for his help with this. * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c. * win/tclWinThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c. file: 1cff75a251 check-in: [2fd77728e6] user: georgeps branch: trunk, size: 6510
2007-12-13
15:22
merge stable branch onto HEAD file: 436421673a check-in: [d1f7550cd9] user: dgp branch: trunk, size: 14828
2007-12-06
06:51
merge updates from HEAD file: 5b09c72a40 check-in: [6f3a8a0d9e] user: dgp branch: dgp-refactor, size: 14831
2007-11-21
06:30
Merge updates from 8.5b3 release file: 79b83179ed check-in: [c60ad186f4] user: dgp branch: core-stabilizer-branch, size: 14832
2007-11-18
22:00
Avoid using 'new' as an identifier. file: b13daed73f check-in: [a2416568db] user: dkf branch: trunk, size: 14828
2007-09-07
03:15
merge updates from HEAD file: 6b41ca953f check-in: [2c46d786c6] user: dgp branch: dgp-refactor, size: 14827
2007-09-04
17:43
merge updates from HEAD file: 337ba05a49 check-in: [93ee5fafc4] user: dgp branch: core-stabilizer-branch, size: 14828
2007-07-31
17:03
VarReform [Patch 1750051] *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h) file: aaf21e0d1a check-in: [2fbb344601] user: msofer branch: trunk, size: 14827
2007-04-08
14:58
Merge updates from HEAD; may not build file: aae3dab4e0 check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 14794
2006-11-13
22:39
Silence a compiler warining about presenting a volatile pointer to 'memset' file: d7c5841862 check-in: [5c38f9e884] user: kennykb branch: trunk, size: 14795
08:23
* generic/tclCompExpr.c: fix gcc warnings about 'cast to/from * generic/tclEncoding.c: pointer from/to integer of different * generic/tclEvent.c: size' on 64-bit platforms by casting to * generic/tclExecute.c: intermediate types intptr_t/uintptr_t * generic/tclHash.c: via new PTR2INT(), INT2PTR(), * generic/tclIO.c: PTR2UINT() and UINT2PTR() macros. * generic/tclInt.h: [Patch 1592791] * generic/tclProc.c: * generic/tclTest.c: * generic/tclThreadStorage.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/configure.in: * unix/tclUnixChan.c: * unix/tclUnixPipe.c: * unix/tclUnixPort.h: * unix/tclUnixTest.c: * unix/tclUnixThrd.c: * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59 file: e6aed839eb check-in: [8562d10e43] user: das branch: trunk, size: 14775
2006-11-07
14:26
Minor updates (whitespace police, etc.) file: e350e15d83 check-in: [e4a8fe7285] user: dkf branch: trunk, size: 14780
2005-12-02
18:42
merge updates from HEAD file: 41a8deec8b check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 14834
2005-11-27
02:33
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes (dist): add new macosx files. * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixFCmd.c: * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: * macosx/Tcl.xcode/default.pbxuser (new file): * macosx/Tcl.xcode/project.pbxproj (new file): * macosx/Tcl.xcodeproj/default.pbxuser (new file): * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on 10.2, with native tcltest targets and support for universal (fat) compiles. * macosx/README: clarification/cleanup, document new Xcode projects and universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * unix/Makefile.in: * unix/aclocal.m4: * unix/configure.in: * unix/dltest/Makefile.in: * macosx/configure.ac (new file): add support for inclusion of unix/configure.in by macosx/configure.ac, allows generation of a config headers enabled configure script in macosx (required by Xcode projects). * macosx/GNUmakefile: rename from Makefile to avoid overwriting by configure run in tcl/macosx, add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tcl.decls: add Tcl_Main declaration as comment to avoid 'checkstubs' target complaining about it missing from stubs. * generic/regex.h: * generic/tclDate.c: * generic/tclEnv.c: * generic/tclGetDate.y: * generic/tclIOUtil.c: * generic/tclObj.c: * generic/tclStubInit.c: * generic/tclStubLib.c: * generic/tclPathObj.c: * generic/tclThreadAlloc.c: * generic/tclThreadStorage.c: * generic/tclTrace.c: * generic/tclVar.c: * generic/tommath.h: * tools/fix_tommath_h.tcl: * unix/tclUnixFCmd.c: ensure externally visible symbols not contained in stubs table are declared as MODULE_SCOPE (or as static if not used outside of own source file). These changes allow 'make checkstubs' to complete without error on Darwin with gcc 4. * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * generic/tclNamesp.c (NamespaceEnsembleCmd): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/tclExecute.c (TclExecuteByteCode): fix unused variable warning when NO_WIDE_TYPE is defined. * generic/regguts.h: only #define NDEBUG if not already #defined. * unix/tclUnixNotfy.c: * macosx/tclMacOSXNotify.c: sync whitespace & comments. * unix/tclUnixPort.h: * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex API. * unix/configure: * unix/tclConfig.h.in: regen. file: 4f14e72fd9 check-in: [eac3630f72] user: das branch: trunk, size: 14830
2005-11-03
17:52
merge updates from HEAD file: 0518cf127d check-in: [d827b9cf1e] user: dgp branch: dgp-refactor, size: 14827
2005-10-30
22:01
Assorted syntactic cleanups file: fe34069965 check-in: [90ab7bfe5b] user: dkf branch: trunk, size: 14823
2005-08-15
18:13
merge updates from HEAD file: ea22db4f16 check-in: [b456e92317] user: dgp branch: kennykb-numerics-branch, size: 15099
17:23
merge updates from HEAD file: 7751efedf5 check-in: [074d06ccf4] user: dgp branch: dgp-refactor, size: 15099
2005-08-11
22:06
radical refactoring of thread storage to untangle dependencies file: 7f248c551b check-in: [be83fe62c8] user: kennykb branch: trunk, size: 15099
2005-08-05
23:56
Stop exposing the thread storage guts. Non-core code should never touch it. file: c69093af6c check-in: [4d67a86a0a] user: dkf branch: trunk, size: 26830
2005-08-02
18:14
merge updates from HEAD file: 25aab94b16 check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 27263
2005-07-26
04:11
Merge updates from HEAD file: e1556665fb check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 27263
2005-07-19
22:45
Getting more systematic about style file: b7a26cdd88 check-in: [f9332bdd5d] user: dkf branch: trunk, size: 27259
2004-09-08
23:02
Added: Merge updates from HEAD file: 314076d6f5 check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 27213
2004-06-24
09:05
Oops! file: e7de363305 check-in: [928e22066f] user: dkf branch: trunk, size: 27209
08:58
Style and whitespace fixes file: 1c9bc0f8cd check-in: [e7c7a606b8] user: dkf branch: trunk, size: 27247
04:13
* generic/tclThreadStorage.c: Corrected type casting errors that led to calculation of a negative index value, thus accesses outside the threadStorageCache array, thus memory corruption. Crash observed on Mac OS X platform. file: a3b5db72f2 check-in: [37c97c8ebf] user: dgp branch: trunk, size: 30147
01:29
Added: Version 5 of [Patch 976496] file: 562a70212c check-in: [6d178830b8] user: mistachkin branch: trunk, size: 30136