summaryrefslogtreecommitdiffstats
path: root/generic/tclThread.c
Commit message (Collapse)AuthorAgeFilesLines
* 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 preferencebug_af08e89777dgp2014-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
| |\ | |/ |/|
| * 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).
| * | 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.
* | | 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.
* | 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.
* | 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
| |
* | * generic/tclThread.c: Typo police. Fixed some nitsandreas_kupries2005-01-211-3/+3
| | | | | | | | | | | | * generic/tclCmdAH.c: in header comments of functions. * generic/tclBasic.c: (Missing --). * generic/tclFileName.c:
* | Version 5 of [Patch 976496]Joe Mistachkin2004-06-241-2/+39
| |
* | * generic/tclInt.h:davygrvy2004-04-231-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.
* * win/tclWinThrd.c (TclpMasterUnlock):hobbs2002-12-101-3/+1
| | | | | * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139]
* Fixed compilation w/out TCL_THREADSwelch2000-04-051-1/+15
|
* 2000-04-03 Andreas Kupries <a.kupries@westend.com>kupries2000-04-041-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Overall change: Definition of public API's for the finalization of conditions and mutexes. [Bug: 4199]. * generic/tclInt.h: Removed definitions of TclFinalizeMutex and TclFinalizeCondition. * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and Tcl_ConditionFinalize. * generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize. Renamed TclFinalizeCondition to Tcl_ConditionFinalize. * generic/tclNotify.c: Changed usage of TclFinalizeMutex to Tcl_MutexFinalize. * unix/tclUnixNotfy.c: * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to Tcl_ConditionFinalize. * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and Tcl_ConditionFinalize, to be used when the core is compiled without threads. * doc/Thread.3: Added description the new API's.
* * generic/tclListObj.c:core_8_2_b3_baseredman1999-08-101-1/+3
| | | | | | | | | | | | | | | | * 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).
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+563