| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| | |
TclpMutexUnlockAndFinalize(). This does not require a TIP, and still should fix the reported bug.
|
| | |
|
| |
| |
| |
| | |
Tcl_MutexUnlockAndFinalize API. Not yet tested.
|
| |
| |
| |
| | |
atomically. Candidate fix for bug [57945b574a].
|
| |
| |
| |
| | |
is respected without need to run afoul of encoding finalizations.
tests pass now. All changes are fully internal.
|
| |
| |
| |
| | |
affects exit.
|
| |\
| |/
|/| |
|
| |
| |
| | |
rest of Tcl source code. No ABI change. API change *should* be harmless.
|
| |\
| | |
| | | |
cause more harm than good. Purged them (except in zlib files).
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- some internal const decorations
- spacing
|
| | |
| | |
| | |
| | | |
etc.)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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/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.
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/| |
more harm than good. Purged them.
|
| |
| |
| | |
more harm than good. Purged them.
|
| |
| |
| |
| |
| | |
in Tcl_Mutex/ConditionFinlize. Now we properly master-lock
the finalization of sync primitives.
|
| |
| |
| |
| |
| | |
object lists by reusing already free'd slots, if possible.
See discussion on Bug 1726873 for more information.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
|
| |
| |
| |
| |
| | |
Tcl_MutexFinalize and Tcl_ConditionFinalize to prevent from garbling
the internal list that track synchronization objects.
|
| |
| |
| |
| |
| | |
object lists by reusing already free'd slots, if possible.
See discussion on Bug 1726873 for more information.
|
| |
| |
| |
| |
| |
| |
| | |
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]
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* generic/tclCmdAH.c: in header comments of functions.
* generic/tclBasic.c: (Missing --).
* generic/tclFileName.c:
|
| | |
|
|/
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock
must exist and be called unconditional of TCL_THREADS. [Bug #651139]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/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).
|
|
|