Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for generic/tclThreadJoin.c
2025-01-20
| ||
14:39 | Fixes for many many whitespace infelicities file: [79c15c932f] check-in: [ba7d219e65] user: dkf branch: whitespace-fix, size: 9485 | |
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: [baf6d5d543] check-in: [d8a3450f12] user: pooryorick branch: unchained, size: 9856 | |
2023-10-13
| ||
13:50 | Fix warning on MacOSX: "/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libtcl8.6.a(tclAlloc.o) has no symbols". Backported from 8.7 file: [c024f8e0a2] check-in: [9cc0a7ac08] user: jan.nijtmans branch: core-8-6-branch, size: 9483 | |
2023-09-12
| ||
18:31 | More WIP file: [a4ccabefbc] check-in: [2e779e1e21] user: dgp branch: dgp-tcl-code, size: 9486 | |
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: [14509ac0ab] check-in: [d65da06a77] user: pooryorick branch: main, size: 9486 | |
13:30 | Correct spelling errors in comments and documentation, but also a non-comment corrections in history.tcl and tcltest.test. file: [15b551f3da] check-in: [aca8de0aeb] user: pooryorick branch: core-8-branch, size: 9482 | |
09:35 | Correct spelling errors in comments and documentation, but also non-comment corrections in history.tcl and tcltest.test. file: [72f8b20cb9] check-in: [ee3df4e647] user: pooryorick branch: core-8-6-branch, size: 9418 | |
2023-03-28
| ||
18:58 |
Deleted:
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. check-in: [231c699c87] user: mchn1350 branch: windows-thread-join, size: 0 | |
2021-04-03
| ||
13:53 | Clean up the notifier code to not spread the hooks quite so widely file: [b7f92829da] check-in: [a263b27340] user: dkf branch: main, size: 9484 | |
2021-03-21
| ||
13:07 |
Start of doing a clean up of the notifier code.
This originated as trying to stop macOS builds from doing silly warnings during a static build, but I noticed that there were common patterns that belong in generic code instead of being repeated in each of the platform-specific pieces. file: [986d6c8a37] check-in: [f48b613408] user: dkf branch: dkf/notifier-cleanup, size: 9480 | |
2020-12-08
| ||
15:42 | Merge 8.7 file: [bdd3813c04] check-in: [71493b571b] user: jan.nijtmans branch: main, size: 9434 | |
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: [3be1d0d5f7] check-in: [4254aa305b] user: jan.nijtmans branch: core-8-branch, size: 9430 | |
2020-02-28
| ||
12:46 | Merge 8.7 file: [ae8eeac0ac] check-in: [b7af922d61] user: jan.nijtmans branch: trunk, size: 9438 | |
2019-08-02
| ||
12:15 | Merge 8.7. Continue implementation for win32 file: [c1607f3a99] check-in: [ff6fa30271] user: jan.nijtmans branch: cplusplus, size: 9434 | |
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: [50cae44793] check-in: [f13660b5a5] user: jan.nijtmans branch: memory-API, size: 9420 | |
2014-02-10
| ||
11:59 | Eliminate all usage of WIN32 and __WIN32__ macros: Some compilers (e.g. Clang/LLVM) don't define it, and _WIN32 is much more portable anyway. See: http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW file: [914b22b19b] check-in: [80cf092cc7] user: jan.nijtmans branch: trunk, size: 9416 | |
2012-11-15
| ||
17:55 | More complete purge of things only present for supporting long-dead Mac 9 systems. file: [73b3fa5fb3] check-in: [7506775d52] user: dgp branch: core-8-4-branch, size: 9784 | |
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: [73b3f1d86e] check-in: [5574bdd262] user: dkf branch: trunk, size: 9414 | |
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: [e7b9fb6569] check-in: [c64f310d38] user: dgp branch: trunk, size: 9442 | |
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: [4a44a19269] check-in: [79367df0f0] user: dgp branch: core-8-5-branch, size: 9442 | |
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: [7f0ff5bcca] check-in: [90b4acd7bd] user: dgp branch: core-8-4-branch, size: 9815 | |
2010-11-18
| ||
10:11 | Next slice. file: [99f511700a] check-in: [16246c5c13] user: andreask branch: activestate-nre-excised-variant-1-roll-forward, size: 9515 | |
2010-02-25
| ||
21:53 | merge updates from HEAD file: [3cda8815d2] check-in: [1b11388844] user: dgp branch: dgp-refactor, size: 9519 | |
2010-02-24
| ||
10:32 | Pure whitespace changes, changing to follow Engineering Manual style. file: [64c519fdef] check-in: [c81eddebbb] user: dkf branch: trunk, size: 9515 | |
2005-12-02
| ||
18:42 | merge updates from HEAD file: [67dcea158e] check-in: [1059d34b2b] user: dgp branch: dgp-refactor, size: 9519 | |
2005-11-07
| ||
15:12 | ANSIfy file: [edec675821] check-in: [611d25e47c] user: dkf branch: trunk, size: 9515 | |
2005-08-02
| ||
18:14 | merge updates from HEAD file: [5fff97f4c5] check-in: [10feab7c07] user: dgp branch: kennykb-numerics-branch, size: 9542 | |
2005-07-26
| ||
04:11 | Merge updates from HEAD file: [2e4ef946a3] check-in: [8351a734a6] user: dgp branch: dgp-refactor, size: 9542 | |
2005-07-19
| ||
22:45 | Getting more systematic about style file: [a90e03b231] check-in: [f9332bdd5d] user: dkf branch: trunk, size: 9538 | |
2004-03-26
| ||
22:28 | Merge updates from HEAD. file: [006336535a] check-in: [6e8d2d7ba1] user: dgp branch: dgp-refactor, size: 9853 | |
2004-03-17
| ||
18:14 | Removed support for Mac OS Classic platform [Patch 918142] file: [89cc3cd331] check-in: [b6330dbac7] user: das branch: trunk, size: 9849 | |
2002-06-10
| ||
05:33 | Merging with TOT as of 06/09/2002. file: [e2a3923f75] check-in: [73b68fb238] user: wolfsuit branch: macosx-8-4-branch, size: 9898 | |
2002-04-24
| ||
20:35 | noted that this code isn't needed on unix file: [9ff9cdd1de] check-in: [69055b5c78] user: hobbs branch: trunk, size: 9890 | |
2002-02-05
| ||
02:21 | Merging with the current TOT. Very few conflicts, mostly in the generated files. file: [bd509c6f17] check-in: [f469a31a06] user: wolfsuit branch: macosx-8-4-branch, size: 9773 | |
2002-01-04
| ||
15:43 |
* generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread): Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that memory debugging is supported.file: [b8cd81b7ee] check-in: [7fbf4354d0] user: dgp branch: trunk, size: 9763 | |
2000-05-06
| ||
19:51 |
2000-05-06 Andreas Kupries <[email protected]>
operating as proxy for David Gravereaux <[email protected]>
* tclThreadJoin.c: Fixed several places with missing a & in arguments to calls of Tcl_Mutex(Un)lock and Tcl_ConditionNotify functions.file: [60a112278e] check-in: [d0d9090813] user: kupries branch: trunk, size: 9771 | |
2000-05-02
| ||
22:02 |
Added:
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: [2f71f8d83c] check-in: [cdf262856d] user: kupries branch: trunk, size: 9750 | |