Tcl Source Code

All files named ”win/tclWinThrd.c”
Login

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

History for win/tclWinThrd.c

2026-06-20
14:47
Minor change: Fix up some wayward tabs file: 03deb855c9 check-in: [c207a9178f] user: dkf branch: main, size: 20094
2026-06-03
07:45
TIP #752: New timer API without Tcl_Time file: a49592ab67 check-in: [93da3b18e7] user: jan.nijtmans branch: main, size: 20097
2026-05-17
15:06
More indentation/spacing corrections; no behaviour changes file: af5750776e check-in: [7c918d5f96] user: dkf branch: main, size: 20148
2026-04-26
16:46
Remove unnecessary blank lines file: bce3e4fa71 check-in: [43cdc3cbe1] user: dkf branch: main, size: 20145
2026-04-08
12:13
Formatting file: 0ebc20e86b check-in: [664a9f3696] user: jan.nijtmans branch: new-timer-api, size: 20095
2026-04-03
11:44
Re-implement from other new-timer-api branch file: 19f5055adc check-in: [46bb2f236f] user: jan.nijtmans branch: new-timer-api, size: 20094
2026-03-17
08:48
Code cleanup, more bools file: e8f188f897 check-in: [bff552ceba] user: jan.nijtmans branch: main, size: 20146
2026-03-11
16:13
Rebase to trunk file: 164f185909 check-in: [9e296704d1] user: jan.nijtmans branch: new-timer-api, size: 20822
2026-02-14
16:39
General whitespace fixes. No semantic changes. file: 48903cf481 check-in: [af2708b4ef] user: dkf branch: main, size: 20807
2026-01-27
15:23
More progress (still not MacOS) file: e5b0ea81cb check-in: [3c99132c81] user: jan.nijtmans branch: new-timer-api, size: 20821
2026-01-20
10:34
(backport): Fix warnings in asserts (seen in debug-mode only). Fix some C++ usage. file: 492ccae945 check-in: [4b88beba6c] user: jan.nijtmans branch: core-9-0-branch, size: 27413
08:00
Fix warnings in asserts (seen in debug-mode only) file: 780d94313a check-in: [c0f17f8557] user: jan.nijtmans branch: main, size: 20806
2025-11-23
09:19
Fix gcc15 (benign) warnings on Windows file: b71dae6368 check-in: [bbb882160b] user: apnadkarni branch: apn-gcc15-warnings, size: 20803
2025-11-15
21:56
merge trunk file: 6d54dbbcb5 check-in: [459669e809] user: dkf branch: c-std-update, size: 27454
2025-11-07
10:39
Implement condition variables using native CONDITION_VARIABLE file: a78455d3da check-in: [046da7eae7] user: apnadkarni branch: apn-win-native-cv, size: 20880
2025-10-10
14:11
Tranche 3 of adoption of bool file: c2820da48a check-in: [6e7e183bb2] user: dkf branch: c11-bool, size: 27456
2025-10-06
18:03
Turn initialisation flags into bools file: c3850db966 check-in: [85f3db92e2] user: dkf branch: c11-bool, size: 27437
15:52
Make the bool type available properly (and reduce include duplication). Be careful though; C23 deprecates that header. file: bf7bcb626a check-in: [fa8b63f0c3] user: dkf branch: c11-bool, size: 27410
12:05
merge trunk file: edf2f6f882 check-in: [dce49c4e92] user: dkf branch: c-std-update, size: 27474
2025-10-01
14:33
Eliminate last atomic. Use thread_equal() and PTHREAD_NULL file: 7df50d7f8b check-in: [8d7d7b1c14] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex, size: 27430
2025-09-30
08:30
Optimize MutexInit/MutexDestroy: init the thread and counter before the mutex itself file: 3c2d9c1d91 check-in: [27ba494cc3] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex, size: 27449
2025-09-29
20:49
use assert file: 64cfa19f11 check-in: [36090c1eaa] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex, size: 27466
2025-09-27
20:16
Two possible improvements: 1) Only panic in DEBUG mode, 2) Don't add memory barries when there already is one file: 50e680c6fc check-in: [6c6604aee1] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex, size: 27619
2025-09-26
18:53
merge trunk file: 20e6f3b246 check-in: [f0dcb3e615] user: dkf branch: c-std-update, size: 27606
2025-09-25
14:03
merge 9.0 file: 021b3bc20c check-in: [e360c5a082] user: sebres branch: main, size: 27562
14:03
small amend - move mutex assignment after check alloc was successful file: fdc7669b59 check-in: [e4fe687f0b] user: sebres branch: core-9-0-branch, size: 27574
14:00
merge 9.0 (amend to [893f8cc5db3ba8bd] with allocMutex) file: 6aefb62231 check-in: [91a1cd34e3] user: sebres branch: main, size: 27562
13:42
windows: amend to [893f8cc5db] - fixed alloc mutex, avoids heap corruption and SF (tcl-mutex is not simple critical section anymore) file: 8e398c404c check-in: [cfc51c4378] user: sebres branch: core-9-0-branch, size: 27574
09:33
Remove many unnecessary struct and enum labels. DKF: Please don't do this. The labels enable better information in some IDEs, such as Visual Studio. file: 94025d4d79 check-in: [7c4fcd0a0c] user: jan.nijtmans branch: struct-enum, size: 27548
2025-09-24
22:30
Merge 9.0 file: d96beda3fe check-in: [ac9204a6db] user: jan.nijtmans branch: main, size: 27562
09:49
Fix allocLock usage file: 730a053fb5 check-in: [4fa40b7680] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27574
08:52
Add a panic to MutexDestroy if the mutex is still owned file: e35ba4d48c check-in: [0305036d04] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27581
2025-09-23
14:45
use InterlockedOr(&v, 0) as atomic load (ensure the access to a variable is automically synchronized by intrinsic or asm instruction and neither reordered nor happens without memory barrier) file: 6b08965e10 check-in: [54c1a0b44d] user: sebres branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27493
14:00
indenting file: 81924dbde5 check-in: [bac58c1036] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27449
13:56
Merge 9.0. Make the Windows implementation working too file: c34ad40359 check-in: [5ab8631610] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27440
2025-09-21
14:21
More progress in Windows implementation (doesn't work yet) file: 4b38a35dbc check-in: [b2641712a1] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 27789
2025-09-19
11:11
Update to Werner's latest spinlock code. More progress on the Windows implementation file: 5255ef6b56 check-in: [020f2eb225] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex-atomic, size: 28535
2025-09-17
11:06
Rebase branch to 9.0 file: 522fbe485f check-in: [f4daf288c6] user: jan.nijtmans branch: 893f8cc5-tip509-nested-mutex, size: 26802
2025-08-24
18:47
[893f8cc5] tip509 nested mutex MS-Windows patch by Christian (thanks !) file: 6937f1dad6 check-in: [c2b0208c78] user: oehhar branch: 893f8cc5-tip509-nested-mutex-win, size: 26790
2025-08-12
09:06
More booleans. file: d90ca2d13f check-in: [8a9080996d] user: dkf branch: c-std-update, size: 26192
2025-06-20
13:15
Give each TSD struct its own name as well as the standard ThreadSpecificData file: 3fe76dd13e check-in: [8d695d0eb6] user: dkf branch: c-std-update, size: 26146
2025-05-23
09:03
Clean up indentation and overlong lines file: 8068187459 check-in: [71f3f24f7b] user: dkf branch: main, size: 26105
2025-01-20
14:39
Fixes for many many whitespace infelicities file: 9d4abb20ce check-in: [ba7d219e65] user: dkf branch: whitespace-fix, size: 26103
2024-12-12
20:21
More conversion of enumerations to enums file: 9b34bf3bbe check-in: [00f2f69514] user: dkf branch: main, size: 26117
2024-08-28
16:33
Merge [3a60363aa10ef993]: Clean up a lot of whitespace issues. file: 77ffe6b103 check-in: [627781a6db] user: pooryorick branch: unchained, size: 26506
2024-08-27
21:31
Merge [835b1a5566c28af4]: More whitespace cleanup. file: 4d134e7ba3 check-in: [fc7d06c8b8] user: pooryorick branch: unchained, size: 26518
15:18
Merge [542ee37b9aec1750]: Make it more clear that TclpThreadExit() and Tcl_ExitThread() are TCL_NORETURN too. file: 7833aa231f check-in: [3667c359a4] user: pooryorick branch: unchained, size: 26518
2024-08-26
09:54
Merge [9a59cf84995963c5]: More spacing/formatting tweaks. file: b2cefb40b8 check-in: [33360d10e4] user: pooryorick branch: unchained, size: 26505
2024-08-25
13:48
Merge [ac8df9b856f81f65]: Fix typos. file: 76142fa5ab check-in: [6d67e4e259] user: pooryorick branch: unchained, size: 26507
2024-08-22
18:59
Merge [f1543f19f80d7261]: Add more Tcl_Size and size_t. file: 43086fbe1f check-in: [db9f3230e9] user: pooryorick branch: unchained, size: 26505
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: 5fc78f3e23 check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 26512
2024-05-13
15:41
Clean up a lot of small whitespace issues This is the dullest commit ever. Sorry. file: d1e633ca6f check-in: [3a60363aa1] user: dkf branch: main, size: 26135
2024-05-10
15:40
More whitespace cleanup file: 31b5689f33 check-in: [835b1a5566] user: dkf branch: main, size: 26147
2024-04-29
07:12
Missing TCL_NORETURN for Tcl_ExitThread() (and TclpThreadExit()). Backported from 8.7/9.0. file: e77424f901 check-in: [5103ed9db2] user: jan.nijtmans branch: core-8-6-branch, size: 26337
2024-04-25
09:41
Make it more clear that TclpThreadExit() and Tcl_ExitThread() are TCL_NORETURN too file: 82f4c6945a check-in: [542ee37b9a] user: jan.nijtmans branch: main, size: 26147
09:40
Make it more clear that TclpThreadExit() and Tcl_ExitThread() are TCL_NORETURN too. file: 6f79596427 check-in: [3483b63d35] user: jan.nijtmans branch: core-8-branch, size: 26140
2024-04-23
16:06
Hmm, something is broken. Leaving this here but this commit is definitely wrong somehow file: 45e18da877 check-in: [b356268e32] user: dkf branch: tidy-indentation, size: 26090
2024-04-18
15:06
Tidy up some indentation and other little code style issues file: 9f34d12080 check-in: [cb11914788] user: dkf branch: tidy-indentation, size: 26094
2024-03-20
13:14
(backport) more spacing/formatting tweaks. For now, macosx/unix/win only. file: 2c6b87b444 check-in: [dc8a99efff] user: jan.nijtmans branch: core-8-branch, size: 26127
2024-03-19
17:09
more spacing/formatting tweaks file: 1bf0a133c0 check-in: [9a59cf8499] user: dkf branch: main, size: 26134
2024-03-08
11:33
Merge 8.7 file: 954f15c389 check-in: [ac8df9b856] user: jan.nijtmans branch: main, size: 26136
11:31
typo's file: 03813ab89d check-in: [25dca7779a] user: jan.nijtmans branch: core-8-branch, size: 26146
2024-01-30
17:07
Tweaking indentation of code; really unimportant... file: 49f12479ae check-in: [bb72806960] user: dkf branch: dkf-indent-tweak, size: 26143
2023-10-10
19:40
Merge 8.7 file: ca4a0990a5 check-in: [f1543f19f8] user: jan.nijtmans branch: main, size: 26134
2023-05-23
16:15
Merge 8.7 file: 2556adac96 check-in: [c5dc388878] user: jan.nijtmans branch: main, size: 26141
16:03
Give Tcl_CreateThread a TCL_HASH_TYPE (unsigned) stackSize parameter file: 96f2d50f6b check-in: [232fb6c5c5] user: jan.nijtmans branch: core-8-branch, size: 26144
2023-05-03
16:12
Merge 9.0. Further Makefile tweaks file: 7dcddb4736 check-in: [9c9f39bc30] user: jan.nijtmans branch: windows-thread-join, size: 26366
2023-04-12
14:25
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: 8394d35466 check-in: [d65da06a77] user: pooryorick branch: main, size: 26145
13:30
Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: ee5be05744 check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 26126
09:35
Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: 44728fbfc7 check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 26340
2023-04-04
20:50
more progress file: 6f7eec06b8 check-in: [4e36871191] user: jan.nijtmans branch: optional-signed-size, size: 26192
2023-04-02
08:45
Replaced non-thread-safe re-initialization checks with the Win32 INIT_ONCE one-time initialization API file: 6af9f4ec0f check-in: [8360452e48] user: konrad.schwarz branch: windows-thread-join, size: 23057
2023-04-01
23:01
Use native Win32 ConditionVariables Replaces the home-grown condition variable implementation with Win32 ConditionVariables, as introduced in Windows Vista. file: dac8fbed34 check-in: [25e4039e84] user: mchn1350 branch: windows-thread-join, size: 22615
2023-03-30
15:19
Fix [0cb3554903]: macOS 13 SDK deprecates sprintf(). But better not use it on other platforms either. file: 68853d9d84 check-in: [ec56f33813] user: jan.nijtmans branch: bug-0cb3554903, size: 26340
2023-03-29
09:02
added copyright note file: d24a03b10a check-in: [7597fe65cc] user: konrad.schwarz branch: windows-thread-join, size: 28818
2023-03-28
18:58
On Windows, join threads using Win32 HANDLEs. This works by extending the existing WinThread structure with the thread's HANDLE. The lifetime of the WinThread structure is until the thread terminates, for non-joinable threads, or until the thread is joined. For joinable threadsd, the thread's HANDLE remains open; Windows signals the HANDLE when the thread terminates. The thread's return value is transported using the standard Windows mechanism. A new thread-specific variable is introduced so a thread can find its WinThread structure. Initial threads (those not created via Tcl_CreateThread) receive a WinThread lazily, when Tcl_GetCurrentThread is called for the first time. Instead of using the Windows ThreadId as the Tcl threadId, the address of the WinThread is used. The least significant bit of the pointer value is used to distinguish joinable threads from non-joinable threads. (For future use or debugging, the Windows ThreadId is stored in the WinThread structure as well.) generic/tclThreadJoin.c is made redudant by this patch. file: 2d488019ca check-in: [231c699c87] user: mchn1350 branch: windows-thread-join, size: 28782
2023-03-08
15:01
More -Wconversion warning fixes file: 36fda600c1 check-in: [837dbec7cc] user: jan.nijtmans branch: main, size: 26145
2023-03-05
20:46
Merge 9.0 file: 6222526f48 check-in: [fef53bf657] user: jan.nijtmans branch: tip-626, size: 26123
2022-03-29
13:41
Merge 8.7 file: b99fe0ead2 check-in: [29f2111bc0] user: jan.nijtmans branch: main, size: 26138
13:40
Don't bother UINT2PTR, since INT2PTR is just as good. file: b61db8e55d check-in: [94e9d6ea9b] user: jan.nijtmans branch: core-8-branch, size: 26126
2021-09-21
08:36
Experiment: Make Tcl_Time a long long in stead of a struct file: f279ab07fb check-in: [7d007b4694] user: jan.nijtmans branch: tcl-time-64bit, size: 26110
2021-04-17
23:26
Use C enums instead of clusters of #defines file: 2da3dad6e7 check-in: [9cc837d642] user: dkf branch: enum, size: 26083
2021-04-07
16:47
Use a lot more enums and inline funcs instead of macros; behaviour is more predictable. file: 0a6bd801c6 check-in: [03219f19f4] user: dkf branch: enum-and-inline, size: 26070
2021-01-08
21:07
Merge 8.7 (resolve conflicts) file: 9b7d496e77 check-in: [5295f674c1] user: dgp branch: main, size: 26137
2021-01-07
13:42
Merge 8.7. Don't bother BorlandC, LCC and WatcomC any more, since they (probably) cannot handle Windows 7 API anyway. file: 68b71467e2 check-in: [7d0cf14313] user: jan.nijtmans branch: tip-592, size: 26125
2020-12-08
15:42
Merge 8.7 file: 09c68d1c15 check-in: [71493b571b] user: jan.nijtmans branch: main, size: 26187
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: 173977179f check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 26175
2020-07-21
07:54
Merge 8.7 file: 72404449d3 check-in: [b23af47e56] user: jan.nijtmans branch: trunk, size: 26199
2020-07-20
14:58
Merge 8.6 file: 9c7f0672bf check-in: [2f045a43d6] user: jan.nijtmans branch: core-8-branch, size: 26187
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: 16820bdbc4 check-in: [9fbbf06bfc] user: jan.nijtmans branch: core-8-6-branch, size: 26247
2020-07-13
14:24
More WIP file: 12d4fc25da check-in: [38b4e0ed91] user: jan.nijtmans branch: no-master-slave, size: 26181
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: 1e51d4c09b check-in: [f9ba684c6b] user: jan.nijtmans branch: no-master-slave, size: 26191
2020-02-28
12:46
Merge 8.7 file: 140e828541 check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 26199
2019-09-19
18:27
Merge 8.7 file: aebd73eadc check-in: [f6491a4282] user: jan.nijtmans branch: cplusplus, size: 26187
15:36
Merge 8.7 file: 27daa635c0 check-in: [8c85c9ded5] user: jan.nijtmans branch: trunk, size: 26113
15:24
Merge 8.6 file: 0ea2a7e79f check-in: [6b92f77a0a] user: jan.nijtmans branch: core-8-branch, size: 26101
11:36
Don't build the Tcl library in Unicode mode any more. Just tclAppInit.c (and cat32 on Windows) file: c2c960a07b check-in: [31d001f4a3] user: jan.nijtmans branch: implicit-unicode, size: 26245
2019-08-02
12:15
Merge 8.7. Continue implementation for win32 file: de3c00826d check-in: [ff6fa30271] user: jan.nijtmans branch: cplusplus, size: 26186
2018-09-03
09:12
merge zipfs file: bf5b684e5c check-in: [4efd0e60fa] user: jan.nijtmans branch: androwish, size: 26243
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: b09ca6221e check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 26112
2018-07-02
19:39
Use size_t in more API's, e.g. *RegExp* types file: 8e9ca05b5b check-in: [a494b98da4] user: jan.nijtmans branch: memory-API, size: 26100
2018-06-27
19:09
merge trunk file: 793dd364aa check-in: [2cc2d71f0a] user: jan.nijtmans branch: memory-API, size: 26097
2018-06-25
20:38
merge 8.6 file: d55e71eaa1 check-in: [1c67775fe7] user: jan.nijtmans branch: core-8-branch, size: 26100
07:22
Simplify ToUtf(), expecially for TCL_UTF_MAX>3 (with correct surrogate handling). Fix various typo's file: 5e4e649b35 check-in: [257ff5d1b3] user: jan.nijtmans branch: core-8-6-branch, size: 26244
2018-05-23
19:41
merge trunk file: 62c80c73c3 check-in: [c78f328143] user: jan.nijtmans branch: novem, size: 26093
2018-05-22
20:53
Simplify usage of TCL_THREAD, along the lines of [eeddb0693a950be980a66de3811630a00c7bab54|eeddb0693a]. Suggested by DKF file: 21ec6f3189 check-in: [bf06e36b25] user: jan.nijtmans branch: core-8-branch, size: 26096
2018-05-17
18:53
TIP #491 implementation: Threading Support: phasing out non-threaded builds file: 4ae4cf6f3f check-in: [e9ee6fc387] user: jan.nijtmans branch: core-8-branch, size: 26221
2017-05-03
10:19
[win] Introduces new threaded declarations TclWinThreadCreate/TclWinThreadExit: because of usage of CRT and/or TLS (if threaded) - use the _beginthreadex/_endthreadex functions for thread management rather than CreateThread/ExitThread. Prevents sporadic run-time errors, like R6016 (not enough space for thread data). See section "Remarks" in https://msdn.microsoft.com/en-us/library/windows/desktop/ms682453(v=vs.85).aspx file: 8fcee19436 check-in: [44defcb5cf] user: sebres branch: core-8-5-branch-fix-1997007, size: 24854
2016-12-01
11:20
More internal use of size_t. Eliminate unused "isBin" argument from TclpSysAlloc() file: 52c63c79b0 check-in: [9d4cd6b1aa] user: jan.nijtmans branch: novem, size: 26108
2016-11-16
11:17
merge trunk file: c93a932e95 check-in: [31a3f9bee0] user: jan.nijtmans branch: novem, size: 26111
10:55
Use more "size_t" in stead of "int" internall. Also eliminate a lot of type-casts which are not necessary any more. file: f6d26f184e check-in: [521d320b7b] user: jan.nijtmans branch: trunk, size: 26131
2016-11-02
12:16
merge zipfs file: 1c228aff86 check-in: [0d7d946d30] user: jan.nijtmans branch: androwish, size: 26239
2016-10-11
21:53
merge trunk file: 14f033f4ef check-in: [d5f3db4df2] user: jan.nijtmans branch: novem, size: 26119
21:52
Fix [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exists file: 3521af7b3f check-in: [bbfcd2c669] user: jan.nijtmans branch: trunk, size: 26139
21:43
Fix [3cc1d91345]: duplicate calls to TclpFreeAllocCache() on thread exists file: 0ad76d87da check-in: [7a3c8a4b0d] user: jan.nijtmans branch: core-8-6-branch, size: 26240
2016-08-19
12:45
merge zipfs file: 6157538a1c check-in: [63eab9444d] user: jan.nijtmans branch: androwish, size: 26139
2016-06-30
13:53
Merge trunk file: a959415e1b check-in: [76c4e1f025] user: jan.nijtmans branch: novem, size: 26019
13:16
Simplify use of "struct" keyword in many places. file: fd55f59d86 check-in: [2e6ea5716f] user: jan.nijtmans branch: trunk, size: 26039
2016-06-23
12:10
Merge zipfs file: 637526167a check-in: [b992a9cd7f] user: jan.nijtmans branch: androwish, size: 26137
2016-06-14
10:01
merge trunk file: 016ed636c3 check-in: [ea4e5ac031] user: jan.nijtmans branch: novem, size: 26029
09:58
Fix [7393be0be6e7f91cbb2016fa777896e3895929e3|7393be0be6]: Tcl Thread library doesn't work in Debug build on Windows_x64 file: 2b5f3ba40a check-in: [5aad54f649] user: jan.nijtmans branch: trunk, size: 26087
09:57
Fix [7393be0be6e7f91cbb2016fa777896e3895929e3|7393be0be6]: Tcl Thread library doesn't work in Debug build on Windows_x64 file: 23a926cc46 check-in: [5ed3db2343] user: jan.nijtmans branch: core-8-6-branch, size: 26140
09:55
Fix [7393be0be6e7f91cbb2016fa777896e3895929e3|7393be0be6]: Tcl Thread library doesn't work in Debug build on Windows_x64 file: ab6ed7ff2f check-in: [37a9ecdea2] user: jan.nijtmans branch: core-8-5-branch, size: 25371
2016-04-01
13:09
Merge trunk. Remove excess spacing. file: e26cb3d969 check-in: [d48b5dfaf7] user: jan.nijtmans branch: novem, size: 26084
13:06
RFE [0ef5e653ff4caf5f896ec1182e0aac38ab9a0c46|0ef5e653]: Add nsf to coffbase.txt. Eliminate exess spacing file: 33889db3bf check-in: [976ec94ceb] user: jan.nijtmans branch: trunk, size: 26142
12:00
merge trunk file: 41df758be0 check-in: [925fddfb82] user: jan.nijtmans branch: novem, size: 26092
11:56
Two micro-optimizations in Win and UNIX notifier. See: [http://code.activestate.com/lists/tcl-core/15645/] file: 9d2f27cb5d check-in: [b1a8aa4406] user: jan.nijtmans branch: trunk, size: 26150
2016-03-25
14:41
- Undo unix notifier changes: too risky at this moment. - Merge trunk - (cherry-pick from dhr-micro-optimization): Micro-optimization: remove double checked lock from TclGetAllocCache in favour of initialization in TclInitSubsystems file: 537839f181 check-in: [0f401c5c64] user: jan.nijtmans branch: notifier, size: 26151
2016-03-21
12:10
merge trunk file: 6ee517e463 check-in: [960c5239bf] user: jan.nijtmans branch: novem, size: 26134
11:59
Fix [d3071887dbc7aeac]: Fix SEGV in Tcl_FinalizeNotifier(). Thanks to hirofumi for both the bug-report and the fix. Use TclpMasterLock() in stead of MASTER_LOCK everywhere (in stead of in some files only, not in others). Use "static int initialized" variable consistantly. Fix some comments. No change of functionality. file: 3769388b8b check-in: [a8ea065823] user: jan.nijtmans branch: trunk, size: 26192
2015-10-22
14:07
fix typo in micro-optimization TclpInitThreadAlloc file: 58f7016d62 check-in: [1b71628a42] user: kbk branch: drh-micro-optimization, size: 26154
2015-10-21
23:30
Micro-optimization: remove double checked lock from TclGetAllocCache in favour of initialization in TclInitSubsystems file: edb9ab7e13 check-in: [fdbf64dc50] user: kbk branch: drh-micro-optimization, size: 26153
20:18
Further cleanup and enhancements. file: 050fe86bdb check-in: [e53cd46a2a] user: mistachkin branch: bug-57945b574a, size: 29221
19:11
Add experimental Tcl_SetMutexWaitProc public API. file: 76f260c934 check-in: [74d995560a] user: mistachkin branch: bug-57945b574a, size: 28502
2015-09-28
10:58
Don't use mutex retry mechanism on Android. (problems ???) file: befa27a974 check-in: [218071d627] user: jan.nijtmans branch: androwish, size: 26248
2015-09-25
17:12
merge trunk file: 3fa8bbd482 check-in: [e2fac8a6f7] user: jan.nijtmans branch: novem, size: 26987
2015-09-24
10:54
Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin 9f8b7bea5344f1b0 broke netbsd's thread notifier file: dc04405b2f check-in: [f30afc36b5] user: jan.nijtmans branch: core-8-5-branch, size: 26276
2015-08-28
01:10
Further refinements. file: 6a364f5dc7 check-in: [f31817e841] user: mistachkin branch: bug-57945b574a, size: 28328
00:46
Experimental changes to reduce lock contention during fork(). file: 2b70003109 check-in: [a989ec9aa1] user: mistachkin branch: bug-57945b574a, size: 27800
2015-08-19
11:26
merge trunk. Remove now unused internal functions. file: bb3d989f2d check-in: [afefb60708] user: jan.nijtmans branch: bug-5d170b5ca5, size: 27045
2015-07-29
14:56
merge trunk file: 70959fde16 check-in: [2fe99beec9] user: dgp branch: novem, size: 27702
2015-07-23
16:53
Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in forking process under heavy multithreading. Thanks to Joe Mistachkin for the implementation of the fix, and Gustaf Neumann for the original report and testing the fix. file: d792d63460 check-in: [6abeca2800] user: jan.nijtmans branch: core-8-5-branch, size: 26991
2015-05-17
22:13
This should completely fix the race conditions at the cost of more complexity. Also, on Unix, a more reliable means than Tcl_Sleep() of sleeping for a short time is needed. file: 27f8c09a88 check-in: [dcdbdb965a] user: mistachkin branch: bug-57945b574a, size: 27760
20:10
Fix deadlock. file: 4585f923b2 check-in: [0b7a654181] user: mistachkin branch: bug-57945b574a, size: 27371
18:03
Draft fix for a potential race condition in the new Tcl_MutexUnlockAndFinalize API. Not yet tested. file: 01cb4fb3bf check-in: [53d99af757] user: mistachkin branch: bug-57945b574a, size: 27371
2013-10-28
21:45
Try resetting all the 'one time' locks as well. file: a3719c83eb check-in: [4ae506f66c] user: mistachkin branch: tkt-414d10346b, size: 25889
2013-09-26
13:13
merge novem WARNING: No checks of build-ability done yet. file: df2e5eef06 check-in: [2688d65077] user: dkf branch: novem-64bit-sizes, size: 26129
2013-09-10
18:46
[547989] Proposed implementation of the change described in the comments of the bug report. file: 2c83b9316c check-in: [942397a2a7] user: dkf branch: bug-547989, size: 26195
2013-02-10
13:26
Unbreak msvc builds, by depending on tclPort.h for inclusion of <sys/stat.h> file: 39b6c307d2 check-in: [4ef9e63656] user: jan.nijtmans branch: trunk, size: 26195
2013-01-19
18:28
merge trunk file: 975e6360c6 check-in: [f7a92b1cbd] user: jan.nijtmans branch: novem, size: 26137
2012-12-25
12:09
proposed fix for Bug 3598300 file: 0ae0b0fd59 check-in: [02a51cbb69] user: jan.nijtmans branch: bug-3598300, size: 25426
2012-12-21
10:13
remove unnecessary struct names, which only pollute the "struct" namespace for the compiler. file: 86a15429f3 check-in: [7752ee08e3] user: jan.nijtmans branch: novem, size: 26179
2012-11-16
14:15
More work done. Still I am finding places where int should be size_t and reverse. file: c4a29f61ee check-in: [d348e679f7] user: jan.nijtmans branch: novem-64bit-sizes, size: 26209
2012-11-14
09:12
Workaround for mingw versions which don't provide _fpcontrol in float.h file: 0c01277a1e check-in: [73042d17c8] user: jan.nijtmans branch: trunk, size: 26217
09:11
Workaround for mingw versions which don't provide _fpcontrol in float.h file: e03746ae8b check-in: [f93feee5b5] user: jan.nijtmans branch: core-8-5-branch, size: 25448
09:07
Workaround for mingw versions which don't provide _fpcontrol in float.h file: 9cd1ce57cb check-in: [4a2030278d] user: jan.nijtmans branch: core-8-4-branch, size: 30610
2012-11-13
21:23
360894 Threads inherit floating point config from their creator thread file: 990d45f425 check-in: [3574448bf4] user: dgp branch: trunk, size: 25896
21:22
360894 Threads inherit floating point config from their creator thread. file: b95577ae6d check-in: [5e4a7a9ee2] user: dgp branch: core-8-5-branch, size: 25127
2012-09-13
20:03
Make compilation of the fp control changes possible with MinGW. file: 8f350b1fe3 check-in: [0bc6042f01] user: mistachkin branch: bug-3567063, size: 30289
18:37
Free the WinThread structure before running the original thread procedure. file: f2413d2948 check-in: [52c42b36eb] user: mistachkin branch: bug-3567063, size: 30159
18:30
Initial work on SF FRQ #3567063. file: 9285e07eb1 check-in: [e5555c6455] user: mistachkin branch: bug-3567063, size: 29964
2012-08-20
06:49
remove unnecessary struct names, which only pollute the "struct" namespace for te compiler. file: 928322c1cb check-in: [db442914c7] user: jan.nijtmans branch: jn-no-struct-names, size: 24075
2011-08-16
12:03
[Bug 3388350] mingw64 compiler warnings file: 063ad4f012 check-in: [8c851aad1d] user: jan.nijtmans branch: core-8-5-branch, size: 23344
2011-03-14
14:41
merge trunk + update ckfree() and ckalloc() calls file: 8d540eaa47 check-in: [4ddd1c56f7] user: dgp branch: dgp-refactor, size: 24106
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: 1829d0fad8 check-in: [5574bdd262] user: dkf branch: trunk, size: 24113
2011-03-03
17:14
merge trunk file: af9aeb440a check-in: [affd89e3ef] user: dgp branch: dgp-refactor, size: 24162
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: 5dcef4c2ad check-in: [c64f310d38] user: dgp branch: trunk, size: 24169
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: 26036a070c check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 23335
2011-03-01
15:38
Now that we're no longer using SCM based on RCS, the RCS Keyword lines cause more harm than good. Purged them. file: 861db49f2c check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 28504
2011-01-25
22:33
Fix various gcc-4.5.2 64-bit warning messages, e.g. by using full 64-bits for socket fd's file: 6076f0db34 check-in: [92caef797a] user: nijtmans branch: trunk, size: 24245
2010-11-23
14:27
Jumps of win/ files. Fixed missing patches to configure. Jumped configure.in and tcl.m4. Also @578 file: daaf1c45e9 check-in: [1c930c462b] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 24240
2010-11-22
16:07
Next @380. OO Stacktraces broken. file: b4c5e6fea4 check-in: [1713113dd4] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 24234
2010-11-18
17:15
Next, @134 file: b40d3644cd check-in: [7fc03e57d1] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 24101
14:20
Onward. file: 5e7ccec030 check-in: [fcf1f73ec6] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 24108
2010-09-17
12:55
Merge from HEAD to rmax-ipv6-branch file: 533b881463 check-in: [70c6ac9692] user: rmax branch: rmax-ipv6-branch, size: 24238
2010-06-16
16:17
merge file: df0b4da22c check-in: [7f6e340d45] user: dgp branch: dgp-refactor, size: 24238
14:49
Simplify Tcl_AppInit and *_Init definitions. Change TclpThreadCreate and Tcl_CreateThread signature, making clear that "proc" is a function pointer, as in all other "proc" function parameters. file: 5a8cbc9a40 check-in: [8567ee888a] user: nijtmans branch: trunk, size: 24238
2010-01-31
23:51
Various CYGWIN-related fixes backported from HEAD. Still configure script not modified, so CYGWIN build is still disabled. Reason: although the build succeeds with those changes, many tests still fail. file: 752f6bb79d check-in: [ad7cfb6ee3] user: nijtmans branch: core-8-5-branch, size: 23415
2010-01-13
18:47
merge updates from HEAD file: 0db8e1125a check-in: [e6c6ee7ccf] user: dgp branch: dgp-refactor, size: 24237
06:46
Fix TCL_LL_MODIFIER for Cygwin and various other minor CYGWIN compilation problems file: 5e68d293fb check-in: [2be0f4173b] user: nijtmans branch: trunk, size: 24237
2010-01-10
22:58
* win/tclWinDde.c: VC++ 6.0 doesn't have * win/tclWinReg.c PDWORD_PTR * win/tclWinThrd.c: Fix various minor gcc warnings. * win/tclWinTime.c * win/tclWinConsole.c Put channel type definitions * win/tclWinChan.c in static const memory * win/tclWinPipe.c * win/tclWinSerial.c * win/tclWinSock.c * generic/tclIOGT.c * generic/tclIORChan.c * generic/tclIORTrans.c * unix/tclUnixChan.c * unix/tclUnixPipe.c * unix/tclUnixSock.c * unix/configure (regenerated with autoconf 2.59) * tests/info.test: Make test independant from tcltest implementation. file: f967470801 check-in: [ab99980096] user: nijtmans branch: trunk, size: 24272
2009-01-09
14:17
merge updates from HEAD file: ffbf6143b2 check-in: [02f7c5c705] user: dgp branch: dgp-refactor, size: 24242
11:21
Style fixes (unfouling whitespace, sorting comments, removing useless casts, etc.) file: 99ba9ff66d check-in: [cd3c38f00a] user: dkf branch: trunk, size: 24237
2008-12-21
20:13
* changes: Update for 8.5.6 release. * library/tclIndex: Removed reference to no-longer-extant procedure 'tclLdAout'. * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'. [Patch 2114900] thanks to Stu Cassoff <[email protected]> Backport of 2008-11-26 commit from Kevin Kenny. * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the thread id variable to 0 as on 64 bit windows this is a pointer sized field while windows only fills it with a 32 bit value. The result is an inability to join the threads as the ids cannot be matched. Backport of 2008-10-13 commit from Pat Thoyts. file: 352990f0b0 check-in: [b37bbeae84] user: dgp branch: core-8-5-branch, size: 23391
2008-10-14
20:10
merge updates from HEAD file: e555c04ea1 check-in: [b58f473a75] user: dgp branch: dgp-refactor, size: 24232
2008-10-13
22:51
We need to initialize the thread id variable to 0 as on 64 bit windows this is a pointer sized field while windows only fills it with a 32 bit value. The result is an inability to join the threads as the ids cannot be matched. file: b4db2a753e check-in: [8f717ed738] user: patthoyts branch: trunk, size: 24233
2008-07-29
20:13
merge updates from (near) HEAD file: 0c6a5279a6 check-in: [f51e3a3c72] user: dgp branch: dgp-refactor, size: 24099
2008-07-24
21:54
CONSTified 4 functions in the Notifier which all have a Tcl_Time* in it which is supposed to be a constant, but this was not reflected in the API: Tcl_SetTimer Tcl_WaitForEvent Tcl_ConditionWait Tcl_SetMaxBlockTime Introduced a CONST86, so extensions which have their own Notifier (are there any?) can be modified to compile against both Tcl 8.5 and Tcl 8.6. This change complies with TIP #24 file: bca7125568 check-in: [7ade6e690e] user: nijtmans branch: trunk, size: 24099
2008-07-16
23:31
* win/tclWinThrd.c: Test for TLS_OUT_OF_INDEXES to make certain that thread key creation is successful. file: 3b339424fc check-in: [fc0e0a02ad] user: georgeps branch: trunk, size: 24106
2008-06-16
03:17
merge updates from HEAD file: 4dc412c268 check-in: [1f1de75ebf] user: dgp branch: dgp-refactor, size: 24006
2008-06-13
05:45
TIP 285 Implementation file: deec76c14a check-in: [505c316922] user: mistachkin branch: trunk, size: 24008
2008-05-11
04:22
merge updates from HEAD file: a9da7ed6a9 check-in: [b084fd8e3a] user: dgp branch: dgp-refactor, size: 23998
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: 83af41b594 check-in: [2fd77728e6] user: georgeps branch: trunk, size: 23998
2008-04-27
22:21
Get rid of pre-C89-isms (esp. CONST vs const). file: 83c1b16d3c check-in: [2d205c22fb] user: dkf branch: trunk, size: 23268
2007-04-08
14:58
Merge updates from HEAD; may not build file: 57462559d1 check-in: [8dc7079178] user: dgp branch: dgp-refactor, size: 23273
2007-03-24
09:33
Thread exit handler marks the current thread as un-initialized. This allows exit handlers that are registered later to re-initialize this subsystem in case they need to use some sync primitives (cond variables) from this file again. file: e7754c452e check-in: [e92e02a7fa] user: vasiljevic branch: trunk, size: 23275
09:31
Thread exit handler marks the current thread as un-initialized. This allows exit handlers that are registered later to re-initialize this subsystem in case they need to use some sync primitives (cond variables) from this file again. file: e0aa9836b2 check-in: [76f247737e] user: vasiljevic branch: core-8-4-branch, size: 28587
2006-08-29
16:19
merge updates from HEAD file: 4074064958 check-in: [e1feeec3e7] user: dgp branch: dgp-refactor, size: 23429
2006-08-10
12:15
Various minor object file size efficiency fixes. [Bug 1530474] file: fd4f27d71a check-in: [a09967381c] user: dkf branch: trunk, size: 23424
2005-12-02
18:42
merge updates from HEAD file: a77a68f403 check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 23433
2005-11-04
00:06
ANSIfy file: 5e90da3844 check-in: [eeb132b4ae] user: dkf branch: trunk, size: 23428
2005-08-15
18:13
merge updates from HEAD file: 1387a31802 check-in: [b456e92317] user: dgp branch: kennykb-numerics-branch, size: 23540
17:23
merge updates from HEAD file: e8d4c32f2d check-in: [074d06ccf4] user: dgp branch: dgp-refactor, size: 23540
2005-08-11
22:06
radical refactoring of thread storage to untangle dependencies file: e6d30cb6b7 check-in: [be83fe62c8] user: kennykb branch: trunk, size: 23540
2005-08-02
18:14
merge updates from HEAD file: 5ecd7176fc check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 28530
2005-07-26
04:11
Merge updates from HEAD file: dd96b06449 check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 28530
2005-07-24
22:56
Getting more systematic about style file: 56c7807993 check-in: [83d72c558c] user: dkf branch: trunk, size: 28526
2005-07-12
20:35
merged changes from HEAD file: 84e77c4942 check-in: [5316ea45e0] user: kennykb branch: kennykb-numerics-branch, size: 28871
2005-06-13
01:45
*** MERGE WITH HEAD *** (tag msofer-wcodes-20050611) file: cda33329e7 check-in: [d666b09ed5] user: msofer branch: msofer-wcodes-branch, size: 28870
2005-06-02
04:17
merge updates from HEAD file: 18eb60c992 check-in: [0d4fa0e558] user: dgp branch: dgp-refactor, size: 28867
2005-05-30
07:56
Fixed Tcl Bug #1204064. file: 5b31f7f001 check-in: [b189cce3c3] user: vasiljevic branch: trunk, size: 28870
01:36
* win/tclWinThrd.c (TclpFinalizeThreadData): move tlsKey defn to top of file and clarify name (was 'key'). [Bug 1204064] file: d9fe76d3fe check-in: [df1e9f6aac] user: hobbs branch: core-8-4-branch, size: 28737
2005-05-11
16:58
merge updates from HEAD file: d697355cab check-in: [a8212110f1] user: dgp branch: dgp-refactor, size: 28847
2005-05-10
18:33
Merged kennykb-numerics-branch back to the head; TIPs 132 and 232 file: 808a27fe64 check-in: [1cc2336920] user: kennykb branch: trunk, size: 28847
16:11
Merged changes from HEAD file: d0677550b0 check-in: [bae9c0a530] user: kennykb branch: kennykb-numerics-branch, size: 28851
2005-05-05
17:55
Merged with HEAD file: 0ce94284cf check-in: [b77c9a87c6] user: kennykb branch: kennykb-numerics-branch, size: 28852
17:52
Corrected a compilation error in the --enable-threads configuration file: d2188fd2b3 check-in: [db79d08c45] user: kennykb branch: trunk, size: 28847
2005-04-29
22:39
Merge updates from HEAD file: 1c6bf6ab70 check-in: [ac63d218d8] user: dgp branch: dgp-refactor, size: 28748
2005-04-25
21:37
Merged with HEAD. file: 872bb30e7f check-in: [fcce6158ac] user: kennykb branch: kennykb-numerics-branch, size: 28752
2005-04-16
08:03
Renamed TclWinFreeAllocCache to TclpFreeAllocCache and fixed to recognize when being called with NULL argument. This is a signal for it to clean up the tsd key associated with the threading allocator. file: 67d3057915 check-in: [5c9d9a78f1] user: vasiljevic branch: trunk, size: 28751
2005-04-07
11:29
Renamed TclWinFreeAllocCache to TclpFreeAllocCache and fixed to recognize when being called with NULL argument. This is a signal for it to clean up the tsd key associated with the threading allocator. Part of fixing the Tcl Bug #1178445. file: caef31f0ae check-in: [f770d9b761] user: vasiljevic branch: core-8-4-branch, size: 28612
2004-10-28
21:12
* generic/tclAlloc.c: Fixed [Tcl SF Bug 1030548], a * generic/tclThreadAlloc.c: threaded debug build on Windows * win/tclWinThrd.c: now works again. Had to touch Unix * unix/tclUnixThrd.c: as well. Basic patch by Kevin, with modifications by myself. file: 7632b69e84 check-in: [6d824cc2bb] user: andreas_kupries branch: core-8-4-branch, size: 28474
18:45
merge updates from HEAD file: 7bc31cd60b check-in: [5fdab1eb47] user: dgp branch: dgp-refactor, size: 28500
2004-10-27
20:53
* tests/registry.test: Fixed test files to load the correct * tests/winDde.test: registry and dde packages by using the info * win/Makefile.in: from makefiles to tell tcltest where to load * win/makefile.vc: them from. This avoids grabbing the wrong package from $auto_path which might be the install point rather than the dev location. Kudos to Jennifer Hom for adding -load and -loadfile to the tcltest package. [Bug 926088] file: ebae2429ee check-in: [b7e5a90f69] user: davygrvy branch: trunk, size: 28501
2004-09-08
23:02
Merge updates from HEAD file: 3be154d404 check-in: [dff8728918] user: dgp branch: dgp-refactor, size: 28462
2004-07-21
01:45
* generic/tclEvent.c: Correct threaded obj allocator to * generic/tclInt.h: fully cleanup on exit and allow for * generic/tclThreadAlloc.c: reinitialization. [Bug #736426] * unix/tclUnixThrd.c: (mistachkin, kenny) * win/tclWinThrd.c: file: c8849854af check-in: [8a65a24648] user: hobbs branch: trunk, size: 28460
01:30
* generic/tclEvent.c: Correct threaded obj allocator to * generic/tclInt.h: fully cleanup on exit and allow for * generic/tclThreadAlloc.c: reinitialization. [Bug #736426] * unix/tclUnixThrd.c: (mistachkin, kenny) * win/tclWinThrd.c: file: 3e06afb51a check-in: [12bdd26d68] user: hobbs branch: core-8-4-branch, size: 28397
2004-07-19
19:23
Redefined MASTER_LOCK to call TclpMasterLock for the sake of Tcl API users never creating interpreters. file: 0e6ff6e569 check-in: [3990dbc1b1] user: vasiljevic branch: core-8-4-branch, size: 27939
19:19
Redefined MASTER_LOCK in win/tclWinThrd.c to call TclpMasterLock for the sake of Tcl API users never creating Tcl interpreters. file: 81769b7520 check-in: [04bcb3edbe] user: vasiljevic branch: trunk, size: 28002
2004-06-22
13:08
Integrated fix for Tcl Bug #770053 from core-8-4-branch file: d9865a11f4 check-in: [9f739d40a1] user: vasiljevic branch: trunk, size: 27975
11:55
Corrected Tcl Bug #770053 file: 1c3e217090 check-in: [450a52effb] user: vasiljevic branch: core-8-4-branch, size: 27910
2004-05-06
01:02
* generic/tclInt.h: * generic/tclThread.c: * generic/tclEvent.c: * unix/tclUnixThrd.c: * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock and joinLock mutexes can be recovered during Tcl_Finalize. file: 0e357bfaeb check-in: [f350fff007] user: davygrvy branch: core-8-4-branch, size: 27908
2004-05-04
17:44
Merge updates from HEAD. file: b7c9a63f6c check-in: [de9c64200c] user: dgp branch: dgp-refactor, size: 27972
2004-04-27
17:17
A little source clean-up with the allocOnce variable. file: dcb8891071 check-in: [b50ffc369b] user: davygrvy branch: trunk, size: 27973
2004-04-23
07:20
* generic/tclInt.h: * generic/tclThread.c: * generic/tclEvent.c: * unix/tclUnixThrd.c: * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock and joinLock mutexes can be recovered during Tcl_Finalize. file: 8209a206e8 check-in: [4b5a57a7d3] user: davygrvy branch: trunk, size: 27952
07:17
revert back to 1.24.2.2 from prior mistaken commit. file: ff05d4166a check-in: [695ac686bc] user: davygrvy branch: core-8-4-branch, size: 27184
07:11
* win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) is called from the stack frame of DllMain's PROCESS_DETACH, the wait operation should timeout and continue. file: 72e2c71fc4 check-in: [c11c33246a] user: davygrvy branch: core-8-4-branch, size: 27882
2004-02-07
05:47
Merge updates from HEAD Note that this branch currently does not fully support the new {expand} syntax. Updates to TclEvalScriptTokens and TclCompileScriptTokens are still to come. file: cb8b5af2ef check-in: [beeeb45bbf] user: dgp branch: dgp-refactor, size: 27227
2004-01-11
20:36
* win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenced to see if there are waiters else uninitialized datum is manipulated. [Bug 849007] file: 29715810ba check-in: [6885a5fa49] user: davygrvy branch: trunk, size: 27228
2003-12-24
04:18
All uses of 'panic' (the macro) changed to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264] file: 2dd359ad2d check-in: [524a53e3b3] user: davygrvy branch: trunk, size: 27227
2003-05-13
10:16
fix for [Bug 732477] file: 7f4a83db5a check-in: [386a7f85ff] user: mistachkin branch: trunk, size: 27181
09:57
fix for [Bug 732477] file: 7419bb4984 check-in: [5cf8febf64] user: mistachkin branch: core-8-4-branch, size: 27186
2003-04-25
20:03
* win/tclWinThrd.c: Applied SF patch #727271. This patch changes the code to catch any errors returned by the windows functions handling TLS ASAP instead of waiting to get some mysterious crash later on due to bogus pointers. Patch provided by Joe Mistachkin. This is a stop-gap measure to deal with the low number of ?TLS slots provided by some of the variants of Windows (60-80). file: 2e9663189d check-in: [563b5bea31] user: andreas_kupries branch: trunk, size: 27156
20:02
* win/tclWinThrd.c: Applied SF patch #727271. This patch changes the code to catch any errors returned by the windows functions handling TLS ASAP instead of waiting to get some mysterious crash later on due to bogus pointers. Patch provided by Joe Mistachkin. This is a stop-gap measure to deal with the low number of ?TLS slots provided by some of the variants of Windows (60-80). file: 9201c69224 check-in: [4ac2f9b848] user: andreas_kupries branch: core-8-4-branch, size: 27160
2003-01-14
02:06
Fix mingw build problems and compiler warnings. * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER. * generic/tclClock.c (FormatClock): Don't define savedTimeZone and savedTZEnv if we are not going to use them. * generic/tclEnv.c: Add cast to avoid warning. * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning. * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey when TCL_THREADS is defined. This avoid a compiler warning about unused variables. file: 80334a9266 check-in: [5a8676e805] user: mdejong branch: trunk, size: 25676
2002-12-10
04:12
* win/tclWinThrd.c (TclpMasterUnlock): * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139] file: d03ae23fc9 check-in: [bcce87164b] user: hobbs branch: core-8-3-1-branch, size: 22918
00:34
* win/tclWinThrd.c (TclpMasterUnlock): * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139] file: 3c031a4456 check-in: [f6b3168d0c] user: hobbs branch: trunk, size: 25582
2002-11-26
22:35
* win/tclWinConsole.c: * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: * win/tclWinThrd.c: * win/tclWinTime.c: General cleanup of all worker threads used by the channel drivers. Eliminates the normal case where the worker thread is terminated ('cept the winsock one). Instead, use kernel events to signal a clean exit. Only when the worker thread is blocked on an I/O call is the thread terminated. Essentially, this makes all other channel worker threads behave like the PipeReaderThread() function for it's cleaner exit behavior. This appears to fix [Bug 597924] but needs 3rd party confirmation to close the issue. file: f31327b124 check-in: [a2db2b4e4a] user: davygrvy branch: trunk, size: 25597
2002-11-19
01:29
* win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper compiler macros that missed the VC++ compiler. This resulted in VC++ builds using CreateThread()/ExitThread() in place of the proper _beginthreadex()/_endthreadex(). This was a large error and am surprised I missed seeing it earlier. file: 1b0c77878f check-in: [31c2a09d6f] user: davygrvy branch: trunk, size: 25598
2002-10-15
19:38
* win/tclWinThrd.c: removed unnecessary dos.h include. Use problematic CreateThread/ExitThread for compilers that can't do _beginthreadex/_endthreadex. file: 2b4892f243 check-in: [8479fc099d] user: hobbs branch: core-8-3-1-branch, size: 22920
2002-08-30
15:33
merged with trunk at tag macosx-8-4-merge-2002-08-30-trunk file: 7defb3f92d check-in: [c69eee32c0] user: das branch: macosx-8-4-branch, size: 25555
2002-08-29
19:02
* win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache): Applied patch for bug #599428, provided by Miguel Sofer <[email protected]>. file: 3436a3be7f check-in: [9fb15282b0] user: andreas_kupries branch: trunk, size: 25563
2002-06-10
05:33
Merging with TOT as of 06/09/2002. file: 71435525ad check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 25594
2002-04-23
17:03
* generic/tclAlloc.c: * generic/tclInt.h: * generic/tclThreadAlloc.c (new): * unix/Makefile.in: * unix/tclUnixThrd.c: * win/Makefile.in: * win/tclWinInt.h: * win/tclWinThrd.c: added new threaded allocator contributed by AOL that significantly reduces lock contention when multiple threads are in use. Only Windows and Unix implementations are ready, and the Windows one may need work. It is only used by default on Unix for now, and requires that USE_THREAD_ALLOC be defined (--enable-threads on Unix will define this). file: 38dae562ec check-in: [28a1df4ae9] user: hobbs branch: trunk, size: 25587
2001-09-07
18:57
* win/tclWinThrd.c (TclpThreadExit): Cast status argument to _endthreadex to unsigned instead of DWORD to match the Win32 function prototype. file: 53beea2f53 check-in: [3c678e5d93] user: mdejong branch: trunk, size: 24308
2001-09-05
00:32
* tclWinThrd.c: Revisited _beginthreadex() stuff. Instead of assuming a c-runtime implimentation of _beginethreadex normal, I reversed the logic to not assume, and use when is. file: 72481dd9bc check-in: [0eca61869a] user: davygrvy branch: trunk, size: 24305
2001-09-03
01:28
* win/tclWinThrd.c: Moved FinalizeConditionEvent() proto to within the main #ifdef TCL_THREADS block to avoid mingw warning about it being there but unused. file: a3587ab37b check-in: [7937aa216e] user: davygrvy branch: trunk, size: 24239
00:37
* win/tclWinThrd.c: Portability fix for Cygwin who's c-runtime, not surprisingly, doesn't have the MSVCRT specific _beginthreadex / _endthreadex pair. This might have to be revisited for proper Borland, lcc32, Watcom and other support as well. file: 0b18869790 check-in: [de61a1528e] user: davygrvy branch: trunk, size: 24209
2001-09-01
22:53
-=[ Tcl_Async* API merge from HEAD ]=- * generic/tclInt.decls: Removed TclpAsyncMark permanently and left the hole not to upset the positions. * generic/tclDecls.h: * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclPlatDecls.h: * generic/tclStubInit.c: regen'd tables. * generic/tclAsync.c: Brought source to match -r1.6 on the HEAD branch. * unix/tclUnixPort.h: * mac/tclMacPort.h: removed #defines for TclpAsyncMark. * win/tclWinInit.c: Removed the TclpAsyncMark function and the thread ID saving that was going on in TclpInitPlatform(). [the old hack] * win/tclWinThread.c: TclpFinalizeCondition() and TclpFinalizeMutex() are now properly returning the old CriticalSection handle to the system. Tcl_CreateThread() is now decrementing its handle reference, so the system will recover resources when the thread closes (doh!). These changes are all already up on the HEAD. * doc/Async.3: matches HEAD. file: 348c701380 check-in: [11201d88be] user: davygrvy branch: core-8-3-1-branch, size: 22638
2001-08-07
00:43
* win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition): added DeleteCriticalSection calls for cleanup [Patch: #419683] file: b57117bebb check-in: [82e9771527] user: hobbs branch: trunk, size: 23830
2001-07-24
19:47
* win/tclWinThrd.c (Tcl_CreateThread): Close Windows HANDLE returned by _beginthreadex. The MS documentation states that this handle is not closed by a later call to _endthreadex. file: c614a456ac check-in: [e81a6a1d2c] user: mdejong branch: trunk, size: 23754
2001-07-16
23:30
* win/tclWinConsole.c: * win/tclWinPipe.c: * win/tclWinPort.h: * win/tclWinSerial.c: * win/tclWinThrd.c: Remove unnecessary #includes of dos.h, direct.h, and tchar.h. This will help the Cygwin porting effort since these headers do not exist under Cygwin. file: ec686240cc check-in: [4291ec89da] user: mdejong branch: trunk, size: 23720
2000-08-08
19:03
Deleted: Created branch tclpro-1-5-0-synthetic check-in: [e979569c4f] user: cvs2fossil branch: tclpro-1-5-0-synthetic, size: 0
2000-06-13
20:30
* win/tclWinDde.c: * win/tclWinInit.c: * win/tclWinNotify.c: * win/tclWinPipe.c: * win/tclWinReg.c: * win/tclWinThrd.c: Applied patch from [Bug 5794]. file: 035660d8ee check-in: [84806aadba] user: ericm branch: trunk, size: 23735
2000-05-09
19:13
2000-05-09 Andreas Kupries <[email protected]> operating as proxy for David Gravereaux <[email protected]> * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing initialization of joinLock. file: 8a38ebbd9c check-in: [c1e244a299] user: kupries branch: trunk, size: 23726
2000-05-02
22:02
2000-05-02 Andreas Kupries <[email protected]> * Overall changes: (1) Implementation of joinable threads for all platforms. (2) Additional API's for channels. Required to allow the thread extension to move channels between threads. * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers (slots 394 to 400). * generic/tclIO.c: Implemented Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel uses code from CloseChannel. Replaced this code by a call to Tcl_CutChannel. Replaced several code fragments adding channels to the channel list with calls to Tcl_SpliceChannel. Removed now unused variables from CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code by a call to Tcl_ClearChannelHandlers. Removed now unused variables from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and 'isshared' to the test code (TclTestChannelCmd). * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the pthread-functionality. * win/tclWinThrd.c: Fixed several small typos in comments. Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Added 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to prevent a race for joinable threads. * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform independent emulation layer (see generic/tclThreadJoin.c below). Due to the cooperative nature of threading on this platform the race mentioned above is not present. * generic/tclThreadJoin.c: New file. Contains a platform independent emulation layer helping in the implementation of joinable threads for the win and mac platforms. * generic/tclInt.h: Added declarations for TclJoinThread, TclRememberJoinableThread and TclSignalExitThread. These procedures define the API of the emulation layer for joinable threads (see generic/tclThreadJoin.c above). * win/Makefile.in: * win/makefile.vc: Added generic/tclTheadJoin.o to the rules. * mac/: I don't know to which file generic/tclTheadJoin.o has to be added to so that it compiles. Sorry. * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels as it prevents us from transfering channels. To restore this we may need an extended interface to drivers in the future. Target: 9.0. Found while testing the new transfer of channels. The information in this list for a channel was left behind and then crashed the system during finalization. * generic/tclThreadTest.c: Added -joinable flag to 'testthread create'. Added subcommand 'testthread join'. * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. * doc/Thread.3: Added documentation for Tcl_JoinThread. * tests/thread.test: Added tests for joining of threads. file: 017176e5b1 check-in: [cdf262856d] user: kupries branch: trunk, size: 23647
2000-04-20
01:30
* library/dde1.1/pkgIndex.tcl: * library/reg1.0/pkgIndex.tcl: * win/tclWinChan.c: * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were not converted, as it confuses hcw locally. [Bug: 5096] * win/Makefile.in: expanded cleanup or help files * doc/Thread.3: minor macro cleanup file: dccd3ec028 check-in: [c818263820] user: hobbs branch: trunk, size: 22364
2000-04-17
20:32
Added Tcl_CreateThreadType and TCL_RETURN_THREAD_TYPE macros for declaring the NewThread callback proc. file: 576739ba4e check-in: [3013a54849] user: welch branch: trunk, size: 22378
2000-04-09
16:04
2000-04-08 Andreas Kupries <[email protected]> * Overall change: Definition of a public API for the creation of new threads. * generic/tclInt.h (line 1802f): Removed the definition of 'TclpThreadCreate'. (line 793f) Removed the definition of 'Tcl_ThreadCreateProc'. * generic/tcl.h (line 388f): Readded the definition of 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux <[email protected]> to that too (__stdcall, ...). Added macros for the default stacksize and allowed flags. * generic/tcl.decls (line 1356f): Added definition of 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in the public API, for stacksize and flags. * win/tclWinThrd.c: * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, added handling of the stacksize. Flags are currently ignored. * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined. * generic/tclThreadTest.c (line 363): See below. * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses default stacksize and no flags now. * unic/tcl.m4 (line 382f): Added a check for 'pthread_attr_setstacksize' to detect platforms not implementing this feature of pthreads. If it is implemented, configure will define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too). * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list of described functions. Removed stuff about not providing a public C-API for thread-creation. file: cfa352ba7b check-in: [51f6c167f6] user: kupries branch: trunk, size: 22394
1999-12-22
00:00
* win/mkd.bat: * win/rmd.bat: removed necessity of tag.txt [Bug: 3874] * win/tclWinThrd.c: changed CreateThread to _beginthreadex and ExitThread to _endthreadex * win/README.binary: * win/configure.in: updated to patch level 8.3b1 file: 5240d9b184 check-in: [375e49cc20] user: hobbs branch: trunk, size: 22230
1999-08-10
17:35
* generic/tclListObj.c: * generic/tcl.decls: * generic/tclDecls.h: Applied patch from Jim Ingham to change the prototype of Tcl_ListObjGetElements to have the last argument have a CONST so that you can feed it the objv that you get from the standard TclObj command proc. * generic/tclAlloc.c: * generic/tclCmdIL.c: * generic/tclIO.c: * generic/tclThread.c: * win/tclWinThrd.c: * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on Windows (and he fixed the bug in the Unix thread implementation). file: 1dfc91e709 check-in: [cfb9ace67b] user: redman branch: trunk, size: 22229
02:42
Added Tcl_GetAllocMutex for use by tclAlloc.c and tclCkalloc.c file: 89b29eaf29 check-in: [a5ed5c1af7] user: welch branch: trunk, size: 22174
1999-04-21
00:42
Deleted: Added comments for 4/19 and 4/20 check-in: [6c6fc5d7b2] user: redman branch: scriptics-tclpro-1-2-old, size: 0
1999-04-14
00:33
Fixed comments in code that referred to APIs that no longer exist, were misspelled, or have been updated. file: 1cfe78aef8 check-in: [2d7ffe4998] user: surles branch: core-8-1-branch-old, size: 22060
1999-04-02
19:43
Fixed warnings from VC++. file: c174529cdf check-in: [ede99b1301] user: redman branch: core-8-1-branch-old, size: 22064
1999-04-01
23:25
Reimplemented Tcl_ConditionNotify and Tcl_ConditionWait based on an algorithm contributed by Jim Davidson. file: 92df1aa9cd check-in: [87deb82e27] user: welch branch: core-8-1-branch-old, size: 22048
1999-03-08
20:14
First pass at integrating stubs mechanism from 8.0. file: ac70e0ec05 check-in: [eeba5fd9e9] user: stanton branch: dev-8-1-stubs-branch, size: 16362
1998-12-12
01:36
Minor change to Lock Declarations to use TCL_DECLARE_MUTEX macro, published in tcl.h. file: 685ba8fa0d check-in: [c778c9ef5e] user: lfb branch: core-8-1-branch-old, size: 16356
1998-09-21
23:39
Added: Added contents of Tcl 8.1a2 file: b21aaeb853 check-in: [8c56dc8868] user: stanton branch: core-8-1-branch-old, size: 16355