summaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* 2000-05-02 Andreas Kupries <a.kupries@westend.com>kupries2000-05-021-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * doc/library.n: Added entries for auto_qualify and auto_import [Bug: 1271].ericm2000-04-281-0/+10
| | | | | | | * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820]. * doc/expr.n: Added documentation for each of the math library functions that expr supports [Bug: 1054].
* * doc/memory.n: Man page for Tcl "memory" command, which isericm2000-04-271-0/+24
| | | | | | | | | | | | | | | | | | created when TCL_MEM_DEBUG is defined at compile time. * doc/TCL_MEM_DEBUG.3: Man page with overall information about TCL_MEM_DEBUG usage. * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory, Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835]. * generic/tclCkalloc.c: Fixed some function headers. * unix/mkLinks: Regen'd with new mkLinks.tcl. * unix/mkLinks.tcl: Fixed indentation, made link setup more intelligent (only do one existance test per man page, instead of one per function).
* * README:hobbs2000-04-261-4/+10
| | | | | | | | | * mac/README: * tools/tcl.wse.in: * unix/README: * unix/tcl.spec: * win/README: * win/README.binary: Updating URLs to reference dev.scriptics.com
* Updated URLswelch2000-04-261-0/+4
|
* LogCommandInfo man entry.ericm2000-04-261-0/+6
|
* updated for 8.3.1 releasehobbs2000-04-261-1/+3
|
* * unix/Makefile.in:hobbs2000-04-251-0/+14
| | | | | | * win/Makefile.in: * win/makefile.vc: updated for http change and some cleanup * library/http2.[13]: moved dir http2.1 to http2.3 to match version
* * unix/mkLinks:ericm2000-04-251-0/+6
| | | | * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834].
* * unix/mkLinks:ericm2000-04-241-0/+10
| | | | * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828].
* * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc):hobbs2000-04-241-19/+27
| | | | | | | added write of 'q' into triggerPipe for notifier in threaded case, so that Tcl doesn't hang when children are still running [Bug: 4139] * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes.
* *** empty log message ***jingham2000-04-241-0/+18
|
* *** empty log message ***jingham2000-04-231-0/+5
|
* 2000-04-21 Sandeep Tamhankar <sandeep@scriptics.com>sandeep2000-04-221-0/+11
| | | | | | | | | | | * library/http2.1/http.tcl: Fixed a newly introduced bug where if there's a -command callback and something goes wrong, geturl threw an exception, called the callback, and unset the token. I changed it so that it will not call the callback when throwing an exception (so the caller only finds out about a given error from one place). Also, fixed http::ncode so that it actually gives you back the http return code (i.e. 200, 404, etc.) instead of the first digit of the version of HTTP being used (i.e. 1).
* comments for http.tclwelch2000-04-221-0/+7
|
* * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unixhobbs2000-04-211-1/+7
| | | | | * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of USE_TCLALLOC on Unix. [Bug: 4731]
* * library/dde1.1/pkgIndex.tcl:hobbs2000-04-201-0/+10
| | | | | | | | | | | * library/reg1.0/pkgIndex.tcl: * win/tclWinChan.c: * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were not converted, as it confuses hcw locally. [Bug: 5096] * win/Makefile.in: expanded cleanup or help files * doc/Thread.3: minor macro cleanup
* * generic/tclFileName.c (SplitUnixPath): added support for QNXhobbs2000-04-191-0/+5
| | | | node ids.
* * README:hobbs2000-04-191-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.h: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: * win/README.binary: bumped version to 8.3.1 * win/tcl.hpj.in: updated copyright date * generic/tclEnv.c: environment support for Mac OS/X * unix/tclUnixPort.h: environment support for Mac OS/X * unix/tclLoadDyld.c: new file for Mac OS/X dl functions * unix/Makefile.in: added install-strip target; bindir, libdir, mandir, includedir vars; tclLoadDyld.c target [Bug: 2527] * unix/tclUnixChan.c (CreateSocket): force a socket back into blocking mode (default state) after a -async connect succeeds. [Bug: 4388] * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to thread-local storage to prevent thread-related race condition. [Bug: 5033] * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the library path as it was unnecessary and conflicts with move of tclLibraryPath to thread-local storage.
* * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath tohobbs2000-04-191-0/+9
| | | | | | | | thread-local storage to prevent thread-related race condition. [Bug: 5033] * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the library path as it was unnecessary and conflicts with move of tclLibraryPath to thread-local storage.
* * win/Makefile.in:redman2000-04-181-0/+8
| | | | | | | * win/tcl.rc: * win/tclsh.rc: * win/tclsh.ico: Modified copyright dates in Windows resource files. Added an icon for tclsh.exe.
* Updates for Tcl_CreateThreadTypewelch2000-04-171-0/+7
|
* * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/spacehobbs2000-04-151-0/+6
| | | | | | | parity on platforms that support it [Bug: 5089] * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor to not conflict with global decl on some systems [Bug: 2882]
* * doc/AppInit.3:hobbs2000-04-141-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Async.3: * doc/BackgdErr.3: * doc/CrtChannel.3: * doc/CrtInterp.3: * doc/CrtMathFnc.3: * doc/DString.3: * doc/Eval.3: * doc/ExprLong.3: * doc/GetInt.3: * doc/GetOpnFl.3: * doc/Interp.3: * doc/LinkVar.3: * doc/OpenFileChnl.3: * doc/OpenTcp.3: * doc/PkgRequire.3: * doc/RecordEval.3: * doc/SetResult.3: * doc/SplitList.3: * doc/StaticPkg.3: * doc/TraceVar.3: * doc/Translate.3: * doc/UpVar.3: * doc/load.n: removed or updated references to interp->result use.
* * doc/regexp.n: doc clarification [Bug: 5037]hobbs2000-04-141-0/+9
| | | | | | | | * doc/update.n: typo fix [Bug: 4996] * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995]
* * doc/dde.n: corrected dde poke docs. [Bug: 4991]hobbs2000-04-121-0/+4
|
* Changes for threading updatewelch2000-04-111-0/+2
|
* fixed conflict in this filewelch2000-04-101-6/+6
|
* * win/tclWinPipe.c (TclpCreateTempFile): Added conversion ofericm2000-04-101-0/+14
| | | | | | | | contents string from UTF to native encoding [Bug: 4030]. * tests/regexp.test: Added tests for infinite looping in [regexp -all]. * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all] [Bug: 4981].
* * generic/tcl.h: removed specific typedef of Tcl_ThreadCreateProchobbs2000-04-101-0/+6
| | | | | for Windows as the build choked. It seems to be OK using the Unix fallback (void).
* * tests/reg.test (matchexpected): corrected tests to use tcltesthobbs2000-04-101-0/+5
| | | | | | constraint types to skip certain tests. * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix
* Updates for htpwelch2000-04-091-0/+11
|
* * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdefhobbs2000-04-091-0/+7
| | | | | | inside of func as it is declared for non-threads builds as well. In the non-threads case, it always returns TCL_ERROR (couldn't create thread).
* 2000-04-08 Andreas Kupries <a.kupries@westend.com>kupries2000-04-091-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Overall change: Definition of a public API for the creation of new threads. * generic/tclInt.h (line 1802f): Removed the definition of 'TclpThreadCreate'. (line 793f) Removed the definition of 'Tcl_ThreadCreateProc'. * generic/tcl.h (line 388f): Readded the definition of 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux <davygrvy@bigfoot.com> to that too (__stdcall, ...). Added macros for the default stacksize and allowed flags. * generic/tcl.decls (line 1356f): Added definition of 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in the public API, for stacksize and flags. * win/tclWinThrd.c: * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, added handling of the stacksize. Flags are currently ignored. * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined. * generic/tclThreadTest.c (line 363): See below. * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses default stacksize and no flags now. * unic/tcl.m4 (line 382f): Added a check for 'pthread_attr_setstacksize' to detect platforms not implementing this feature of pthreads. If it is implemented, configure will define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too). * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list of described functions. Removed stuff about not providing a public C-API for thread-creation.
* * doc/binary.n: clarified docs on sign extension in binary scanhobbs2000-04-081-7/+19
| | | | | | | | | | | [Bug: 3466] * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s references (no longer supported) * tests/fCmd.test: marked test 8.1 knownBug because it is dangerous on poorly configured systems [Bug: 3881] and added 8.2 to keep essence of 8.1 tested.
* Forgot to update the ChangeLog. Fixed.kupries2000-04-051-5/+5
|
* 2000-04-05 Andreas Kupries <a.kupries@westend.com>kupries2000-04-051-0/+8
| | | | | | | | * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest mask to the correct value after an unstack and re-initialization of the notifier via the watchProc. Without this the first fileevent after an unstack will come through and be processed, but no more. [Bug: ??].
* Updated for TCL_THREADS and stubs table stuffwelch2000-04-051-0/+8
|
* 2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>sandeep2000-04-051-0/+9
| | | | | | | | | | * library/http2.1/http.tcl: For the -querychannel option, fconfigure the socket to be binary so that we don't translate anything while reading the data. This is because we determine the content length of the data on the channel by using seek (to the end of the file) and tell on the file handle, and we need the content-length to match the amount of data actually sent, and translation can affect the number of bytes posted.
* 2000-04-03 Andreas Kupries <a.kupries@westend.com>kupries2000-04-041-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtrhobbs2000-04-041-0/+26
| | | | | | | | | | | | | | | | | | | to prevent itcl info override crash [Bug: 4064] * tests/foreach.test: * tests/namespace.test: * tests/var.test: Added lsorts to avoid random sorted return problems. [Bug: 2682] * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482] * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156] improved translation to winhelp [Bug: 3679] * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir correctly [Bug: 4085] * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293]
* * generic/tclGet.c (Tcl_GetDouble): Added additional conditions toericm2000-03-311-0/+18
| | | | | | | | | | | | | | | | | error test (previously only errno was checked, but the return value of strtod() should be checked as well). [Bug: 4118]. * tests/exec.test: Added test for proper conversion of UTF data when used with "<< $dataWithUTF" on exec's. * unix/tclUnixPipe.c (TclpCreateTempFile): Added Tcl_UtfToExternalDString call, so that if there is UTF content in the string it will be properly converted to the system encoding before being written [Bug: 4030]. (TclpCreateTempFile): Added a check on the return value of tmpnam; some systems (Linux, for example) will start to return NULL after tmpnam has been called TMP_MAX times; not checking for this can have bad results (overwriting temp files, core dumps, etc.)
* * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added commentshobbs2000-03-311-0/+19
| | | | | | | | | | | | | | | | | | noting the need to pair ckalloc with ckfree. [Bug: 4262] * generic/tclInt.decls: * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s support). * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting info again * win/tclWinPort.h: * win/Makefile.in: * win/configure.in: * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
* * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanuphobbs2000-03-301-1/+10
| | | | | | | | more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by tbcload), to correctly clean them up. * generic/tclClock.c (FormatClock): moved check for empty format earlier, commented 0 result return value
* 2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>sandeep2000-03-291-0/+13
| | | | | | | | | | | | | * library/http2.1/http.tcl: Removed an unnecessary fileevent statement from the error processing part of the Write method. Also, fixed two potential memory leaks in wait and reset, in which the state array wasn't being unset before throwing an exception. Prior to this version, Brent checked in a fix to catch a fileevent statement that was sometimes causing a stack trace when geturl was called with -timeout. I believe Brent's fix is necessary because TLS closes bad sockets for secure connections, and the fileevent was trying to act on a socket that no longer existed.
* * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"'hobbs2000-03-271-5/+17
| | | | | | | | | | * tests/namespace.test: * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the export list so only one instance of each export pattern would exist in the list. * generic/tclExecute.c (TclExecuteByteCode): optimized case for the empty string in ==/!= comparisons
* * unix/tclUnixChan.c: Added (off_t) type casts in lseek() callericm2000-03-271-0/+9
| | | | | | | | [Bug: 4409]. * unix/tclLoadAout.c: * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug: 4410].
* 2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>sandeep2000-03-221-0/+6
| | | | | | * library/http2.1/http.tcl: Fixed a bug where string query data that was bigger than queryblocksize would get duplicate characters at block boundaries.
* 2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>sandeep2000-03-221-0/+10
| | | | | | | | | | * library/http2.1/http.tcl: Fixed bug 4463, where we were getting a stack trace if we tried to publish a project to a good host but a port where there was no server listening. It turned out the problem was a stray fileevent that needed to be cleared. Also, fixed a bug where http::code could stack trace if called on a bad token (one which didn't represent a successful geturl) by adding an http element to the state array in geturl.
* * tests/clock.test: Modified some tests that were not robust withericm2000-03-211-0/+18
| | | | | | | | | respect to the time zone in which they were run and were thus failing. * doc/clock.n: Clarified meaning of -gmt with respect to -base when used with [clock scan] (-gmt does not affect the interpretation of -base).