| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
rest of Tcl source code. No ABI change. API change *should* be harmless.
FossilOrigin-Name: 5574bdd262b2672cde48771787370c12854cecf4
|
|\
| |
| |
| |
| | |
cause more harm than good. Purged them (except in zlib files).
FossilOrigin-Name: c64f310d38b977e7ae26a48bcf8bb8c50e453af7
|
| |\
| | |
| | |
| | |
| | | |
more harm than good. Purged them.
FossilOrigin-Name: 79367df0f0e01a96f037f893e889e7cb9b807847
|
| | |
| | |
| | |
| | |
| | | |
more harm than good. Purged them.
FossilOrigin-Name: 90b4acd7bdab65433169a232124967885c18d972
|
|/ /
| |
| | |
FossilOrigin-Name: c81eddebbb969209a42ab4c210dd62f3080909d4
|
| |
| |
| | |
FossilOrigin-Name: 611d25e47cc0ca4006b861534bc098fb11548f02
|
| |
| |
| | |
FossilOrigin-Name: f9332bdd5d0a4fbe98144f883523a472b455e076
|
|/
|
| |
FossilOrigin-Name: b6330dbac725e2d527ad089669aa7f4779d19398
|
|
|
| |
FossilOrigin-Name: 69055b5c78974293d0a7e7a5522d046623182844
|
|
|
|
|
|
|
| |
Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that
memory debugging is supported.
FossilOrigin-Name: 7fbf4354d001ba9b11d1b92f4538c77752db634b
|
|
|
|
|
|
|
|
|
|
| |
operating as proxy for David Gravereaux <davygrvy@pobox.com>
* tclThreadJoin.c: Fixed several places with missing a & in
arguments to calls of Tcl_Mutex(Un)lock and
Tcl_ConditionNotify functions.
FossilOrigin-Name: d0d9090813e115b1d1154f991120c410bb4dcde3
|
|
* 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.
FossilOrigin-Name: cdf262856d1872c95cf12baf78d90874dae1b03f
|