summaryrefslogtreecommitdiffstats
path: root/tests/thread.test
Commit message (Collapse)AuthorAgeFilesLines
* 2000-05-02 Andreas Kupries <a.kupries@westend.com>kupries2000-05-021-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * tests/*.test: Changed all occurances of "namespace importericm2000-04-101-2/+2
| | | | | | ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948]. FossilOrigin-Name: c2f93a113cfcb17a21da67cc20f54ab3f1b9fa3c
* new test caseshobbs1999-10-211-13/+1
| | | FossilOrigin-Name: 55d35aff2fdf8a27471bd2db23f8a5e04cfba3ed
* Changed the tests to use the testConstraints array that thejenn1999-07-011-3/+3
| | | | | | test harness uses instead of the old name (testConfig). FossilOrigin-Name: 6b946e4c3413bd78b62341d25d3a25f9f9a1d0b0
* Fixed style problems in many of the test files.rjohnson1999-06-261-2/+2
| | | | | | Fixed bug in pkg.test where defs.tcl was still being used. FossilOrigin-Name: dbfd75f43f496269e869e2fbd58f86e25bdcef4c
* Modified the tests to use the package tcltestjenn1999-06-261-2/+3
| | | FossilOrigin-Name: fdb0602e41e62bf526806c165dbf3f33a718fd37
* Resynced with mainline.rjohnson1999-04-211-1/+1
| | | FossilOrigin-Name: 45b9dd789f717fcc67d00014dd8255359b392df0
* moved the ThreadReap command to ::tcltest::threadReap. Now each thread test ↵hershey1999-04-201-82/+88
| | | | | | | | | | | calls threadReap at the beginning and end of the test, inside the test body. This fixes the problem where the test suite was exiting on a call to threadReap (reap was killing the main thread by accident because other tests were leaving threads running and setting mainthread to be the list of running threads). FossilOrigin-Name: 4ad79d115186b5269b4b20ec79edc4a8e49c5c99
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+240
FossilOrigin-Name: f3b32fb71c9011ac220779bd9dbe5617c9dc87d9