summaryrefslogtreecommitdiffstats
path: root/generic/tclThread.c
Commit message (Collapse)AuthorAgeFilesLines
* Make everything compile warning-free when TCL_THREADS=0jan.nijtmans2021-08-231-7/+7
|\
| * Eliminate many unnecessary type-casts, mostly (size_t) when value is already ↵jan.nijtmans2020-08-111-2/+2
| | | | | | | | size_t or int
* | Add -finput-charset=UTF-8 and -fextended-identifiers to gcc (and clang). All ↵jan.nijtmans2020-12-081-2/+2
| | | | | | | | C sources can now use UTF-8, as far as gcc/clang/msvc support it. Not used yet
* | Merge 8.6jan.nijtmans2020-07-201-11/+11
|\ \ | |/
| * Use "Global" in stead of "Master" internally, where "Master" is not used in ↵jan.nijtmans2020-07-201-11/+11
| | | | | | | | the Master-Slave paradigm and where this makes sense.
* | Fix a few warning-message in --enable-symbols-mem modejan.nijtmans2020-03-311-0/+2
| |
* | Merge 8.7, and continue implementation. Almost donejan.nijtmans2019-07-101-1/+1
| |
* | More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) ↵jan.nijtmans2019-02-271-2/+2
| | | | | | | | and (unsigned) type-casts, which don't make sense any more.
* | Unbreak build with other CFLAGS, such as TCL_MEM_DEBUG=1 or TCL_THREADS=0 on ↵jan.nijtmans2018-05-231-2/+2
| | | | | | | | Linux
* | Simplify usage of TCL_THREAD, along the lines of ↵jan.nijtmans2018-05-221-24/+9
| | | | | | | | [eeddb0693a950be980a66de3811630a00c7bab54|eeddb0693a]. Suggested by DKF
* | TIP #491 implementation: Threading Support: phasing out non-threaded buildsjan.nijtmans2018-05-171-10/+10
|/
* Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin ↵jan.nijtmans2015-09-241-39/+0
|\ | | | | | | 9f8b7bea5344f1b0 broke netbsd's thread notifier
| * Fix [5d170b5ca5e12743006d737c79f959f3efabc644|5d170b5ca5]: checkin ↵jan.nijtmans2015-09-241-39/+0
| |\ | | | | | | | | | 9f8b7bea5344f1b0 broke netbsd's thread notifier
| | * merge trunk. jan.nijtmans2015-08-191-37/+0
| | | | | | | | | Remove now unused internal functions.
* | | Eliminate (harmless) compiler warning. No functional change.jan.nijtmans2015-08-211-0/+2
|\ \ \ | |/ / | | / | |/ |/|
| * Eliminate some (harmless) compiler warnings. No functional change.jan.nijtmans2015-08-211-12/+14
| |
* | Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in ↵jan.nijtmans2015-07-231-0/+37
|\ \ | |/ | | | | 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.
| * Fix bug [57945b574a6df0332efc4ac96b066f7c347b28f7|57945b574a]: lock in ↵jan.nijtmans2015-07-231-0/+37
| |\ | | | | | | | | | 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.
| | * Rename the new API to TclMutexUnlockAndFinalize as it is not platform-specific.Joe Mistachkin2015-06-171-2/+2
| | |
| | * Change Tcl_MutexUnlockAndFinalize() to internal function ↵jan.nijtmans2015-06-161-3/+2
| | | | | | | | | | | | TclpMutexUnlockAndFinalize(). This does not require a TIP, and still should fix the reported bug.
| | * Fix typo in the previous check-in.Joe Mistachkin2015-05-171-1/+1
| | |
| | * Draft fix for a potential race condition in the new ↵Joe Mistachkin2015-05-171-3/+8
| | | | | | | | | | | | Tcl_MutexUnlockAndFinalize API. Not yet tested.
| | * Add new public Tcl C API to allow a mutex to be unlocked and then finalized ↵Joe Mistachkin2015-04-091-0/+33
| |/ |/| | | | | atomically. Candidate fix for bug [57945b574a].
* | Rework the *FinalizeThread*() routines so that the quick exit preferencedgp2014-12-171-2/+2
| | | | | | | | is respected without need to run afoul of encoding finalizations. tests pass now. All changes are fully internal.
* | Refine TclFinalizeThreadData so that the quick-exit optimization really only ↵ferrieux2014-09-081-1/+6
| | | | | | | | affects exit.
* | [3493120] Plug memory leak in thread exit.dgp2014-04-241-2/+6
|\ \ | |/
| * Memory leak after thread exit, fixed (alloc cache released by exit), belong ↵sebres2014-04-221-2/+6
| | | | | | | | | | | | | | | | to ticket [3493120] Moved over to branch bug-3493120. This is not ready for the core-8-5-branch. Segfaults all over the place in a thread-enabled build on a CentOS system.
* | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-7/+8
| | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ | |/ | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * generic/tclThread.c: Back-port locking changes from Tcl8.5vasiljevic2007-11-261-1/+11
| | | | | | | | | | | | | | | in Tcl_Mutex/ConditionFinlize. Now we properly master-lock the finalization of sync primitives.
| | * Prevent RemeberSyncObj() from growing the syncvasiljevic2007-06-301-3/+14
| | | | | | | | | | | | | | | object lists by reusing already free'd slots, if possible. See discussion on Bug 1726873 for more information.
| | * * generic/tclInt.h:davygrvy2004-05-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | revise fix for [Bug 2687952]Joe Mistachkin2009-03-161-5/+2
| | |
* | | Fix [Bug 2687952]dkf2009-03-151-4/+6
| | |
* | | - eliminate some unnessary type castsnijtmans2009-02-101-13/+13
| | | | | | | | | | | | | | | - some internal const decorations - spacing
* | | Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-2/+2
| | | | | | | | | | | | etc.)
* | | CONSTified 4 functions in the Notifier which all have a Tcl_Time* in it which isnijtmans2008-07-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | * generic/tcl.h: Make Tcl_ThreadDataKey a void *.georgeps2008-05-091-16/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | Added TclpMasterLock/Unlock arround calls to ForgetSyncObject invasiljevic2007-10-251-1/+10
| | | | | | | | | | Tcl_MutexFinalize and Tcl_ConditionFinalize to prevent from garbling the internal list that track synchronization objects.
* | Prevent RemeberSyncObj() from growing the syncvasiljevic2007-06-301-4/+16
| | | | | | | | | | object lists by reusing already free'd slots, if possible. See discussion on Bug 1726873 for more information.
* | * generic/tclIO.c (DeleteChannelTable): Made changes so thatKevin B Kenny2007-05-011-16/+11
| | | | | | | | | | | | | | DeleteChannelTable tries to close all open channels, not just the first. [Bug 1710285] * generic/tclThread.c (TclFinalizeSynchronization): Make sure that TSD blocks get freed on non-threaded builds. [Bug 1710825]
* | Minor updates (whitespace police, etc.)dkf2006-11-071-7/+7
| |
* | ANSIfy (though only partially - function decls only - for tclExecute.c)dkf2005-11-021-70/+67
| |
* | radical refactoring of thread storage to untangle dependenciesKevin B Kenny2005-08-111-121/+13
| |
* | Systematizing the formattingdkf2005-07-211-53/+63
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | Whitespace fixes and add notes to #else/#endif so it is clearer what's happeningdkf2005-02-031-25/+26
| |