summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macrodavygrvy2002-12-181-6/+6
|
* * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode):hobbs2002-12-172-4/+16
| | | | | (Tcl_ThreadAlert): Check that the stub functions are non-NULL before calling them. They could be set to NULL by Tcl_SetNotifier.
* * generic/tclPipe.c (TclCleanupChildren):davygrvy2002-12-175-10/+219
| | | | | | | | | | | | | | * tests/winPipe.c: * win/tclWinPipe.c (Tcl_WaitPid): * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32 exception code translated into a posix style SIG*. This allows [close] to report "CHILDKILLED" without the meaning getting lost in a truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get moved to before Tcl_WaitPid() as the the handle is removed from the list taking away the ability to get the process id after the wait is done. This shouldn't effect the unix implimentaion unless waitpid is called with a pid of zero, meaning "any". I don't think it is..
* * unix/configure.in: Updated configure of CVS snapshots to reflectdgp2002-12-135-6/+14
| | | | | | | * win/configure.in: the 8.4.1.1 patchlevel. * unix/configure: autoconf * win/configure autoconf
* * generic/tclProc.c (ProcessProcResultCode): Fix failure todgp2002-12-113-3/+16
| | | | | propagate negative return codes up the call stack. [Bug 647307] * tests/proc.test (proc-6.1): Test for Bug 647307
* * generic/tclParseExpr.c (TclParseInteger): Return 1 for thedgp2002-12-113-3/+18
| | | | | string "0x" (recognize leading "0" as an integer). [Bug 648441]. * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
* * win/tclWinThrd.c (TclpMasterUnlock):hobbs2002-12-103-39/+30
| | | | | * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139]
* * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Checkdavygrvy2002-12-082-15/+26
| | | | | | | | that the tsdPtr is valid before dereferencing as we call it from the exit handler, too [Bug 650353]. Another WSAStartup() loaded version comparison byte swap issue fixed. Although 0x0101 byte swapped is still 0x0101, properly claiming which is major/minor is more correct.
* * generic/tclStubInit.c: regenhobbs2002-12-066-5/+88
| | | | | | | | | | | | * generic/tclIntPlatDecls.h: regen * generic/tclInt.decls: added TclWinResetInterface * win/tclWin32Dll.c (TclWinResetInterfaces): * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): add exit handler that resets the encoding information to a state where we can reuse Tcl. Following these changes, it is possible to reuse Tcl (following Tcl_FindExecutable or Tcl_CreateInterp) following a Tcl_Finalize.
* * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics tohobbs2002-12-061-2/+13
| | | | their original values on finalize to allow reuse of the library.
* * win/tclWinPipe.c: reverted back to -r1.27 due to numerous testdavygrvy2002-12-052-67/+13
| | | | failures that need to be resolved first.
* * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with andavygrvy2002-12-042-6/+67
| | | | | | | | | | | | | exception, pass this notice on to the caller with a SIG* code rather than truncating the exit code and missing the meaning. This allows TclCleanupChildren() to report "CHILDKILLED". This has a different behavior than unix in that closing the read pipe to a process sends the SIGPIPE signal which is returned as a SIGPIPE exit status. On windows, we send the process a CTRL_BREAK_EVENT and get back a CONTROL_C_EXIT which is documented to mean a SIGINT which seems wrong as a system, but is the correct exit status.
* filesystem cleanup fix, virtual filesystem load fixvincentdarley2002-12-044-22/+53
|
* * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check ofhobbs2002-12-042-11/+21
| | | | | tclStubsPtr to allow for repeated load/unload of the Tcl dll by hosting apps. [Bug 615304]
* unset path to make it work for singleproc runshobbs2002-12-041-2/+2
|
* * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENTdavygrvy2002-12-041-0/+5
| | | | | | to CTRL_BREAK_EVENT as it can't be ignored by the child and proved to work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't.
* * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENTdavygrvy2002-12-041-2/+2
| | | | to CTRL_BREAK_EVENT as it can't be ignored by the child.
* * win/tclAppInit.c (sigHandler): Protect from trying to close adavygrvy2002-12-043-6/+42
| | | | | | | | | | | | | | | | | | NULL handle. * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real Win32 signal (CTRL_C_EVENT) when the read channel is brought down to alert the child to close on its side. Start the process with CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals. The following test case now brings down the child without the use of an external [kill] command. % set p [open "|[info name]" w+] file8d5380 % pid $p 2876 % close $p <- now doesn't block in Tcl_WaitPid() %
* * win/tclWinChan.c (Tcl_MakeFileChannel): return ofdavygrvy2002-11-272-2/+5
| | | | DuplicateHandle() incorrectly used [Bug 618852].
* * win/tclWinSock.c: WSAStartup() loaded version comparisondavygrvy2002-11-272-7/+28
| | | | error which resulted in 2.0 looking less than 1.1.
* * win/tclWinSock.c: Removed shutdown() from the functiondavygrvy2002-11-272-12/+11
| | | | | table as it wasn't referenced anywhere and cleaned-up some casting that that wasn't needed.
* * win/tclWinPort.h: Don't turn off winsock prototypes!davygrvy2002-11-272-6/+8
| | | | | TclX didn't like it. Even though the core doesn't use the prototypes, do offer them.
* Missed a couple left-overs from my TcpAccept hack. Now fixed. Sorry for thedavygrvy2002-11-271-33/+16
| | | | confusion.
* * generic/tclInterp.c (AliasCreate): preserve/release interps tohobbs2002-11-272-14/+35
| | | | prevent possible FMR error in bad alias cases.
* * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properlyhobbs2002-11-271-2/+4
| | | | cleanup all encodings by using Tcl_FirstHashEntry in the while loop.
* add simple valgrind targethobbs2002-11-271-1/+6
|
* unset path var to allow singleproc testinghobbs2002-11-271-2/+2
|
* missed a patch item reference.davygrvy2002-11-271-4/+4
|
* adjusted some commentary to be more accurate.davygrvy2002-11-271-5/+6
|
* Incorrect local edit of this file was previously committed that included adavygrvy2002-11-271-108/+61
| | | | TcpAccept() hack that has no business being in the core.
* small typo.davygrvy2002-11-271-1/+1
|
* * win/tclWinPort.h:davygrvy2002-11-273-403/+608
| | | | | | | | | | | | | | | | | | * win/tclWinSock.c: This patch does two things: 1) Cleans-up the winsock typedefs by using the typedefs provided by winsock2.h. This has no effect on how winsock is initialized; just makes the source code easier to read. [Patch 561305] 2) Revamps how the socket message handler thread is brough up and down to allows for cleaner exits without the use of TerminateThread(). TerminateThread is evil. No attempt has been made to resolve [Bug 593810] which may need a new channel driver version for adding a registering function whithin the transfered thread to init the handler thread. IOW, initialization of the TSD structure was getting bypassed through the thread extension's [thread::transfer] command.
* added a missing comment line to show that use of TerminateThread is evil.davygrvy2002-11-261-1/+3
|
* * win/tclWinConsole.c:davygrvy2002-11-267-128/+314
| | | | | | | | | | | | | | | | * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: * win/tclWinThrd.c: * win/tclWinTime.c: General cleanup of all worker threads used by the channel drivers. Eliminates the normal case where the worker thread is terminated ('cept the winsock one). Instead, use kernel events to signal a clean exit. Only when the worker thread is blocked on an I/O call is the thread terminated. Essentially, this makes all other channel worker threads behave like the PipeReaderThread() function for it's cleaner exit behavior. This appears to fix [Bug 597924] but needs 3rd party confirmation to close the issue.
* * win/README: Update msys build env URL. Thismdejong2002-11-262-2/+7
| | | | release #4 build both tcl and tk without problems.
* * library/init.tcl: code cleanup to reduce use ofhobbs2002-11-233-41/+26
| | | | * library/opt/optparse.tcl: string compare
* * tests/interp.test: interp-14.4hobbs2002-11-233-6/+29
| | | | | * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when creating an alias command over the interp name. [Bug #641195]
* * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offsethobbs2002-11-196-26/+88
| | | | | | | | | | after the "end-" prefix. * generic/get.test: * generic/string.test: * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling before calling strtoul(l). [Bug #634856]
* no messagedavygrvy2002-11-191-0/+8
|
* * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixeddavygrvy2002-11-191-3/+3
| | | | | | | improper compiler macros that missed the VC++ compiler. This resulted in VC++ builds using CreateThread()/ExitThread() in place of the proper _beginthreadex()/_endthreadex(). This was a large error and am surprised I missed seeing it earlier.
* Added missing .BE [Bug 629330]dkf2002-11-154-4/+8
|
* * generic/regexpComp.test: added tests 22.*hobbs2002-11-143-32/+73
| | | | | | | * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right anchoring (^ and $) recognition and check starting or ending .* to extend the number of REs that can be compiled to string match or string equal.
* 3 small fixesvincentdarley2002-11-138-19/+261
|
* TclUtfToUniChar optimizationshobbs2002-11-121-0/+48
|
* * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar.hobbs2002-11-121-25/+57
| | | | | (Tcl_StringCaseMatch): use TclUtfToUniChar and add further optimizations for the one-byte/char case.
* * generic/tclUtf.c: make use of TclUtfToUniChar macro throughouthobbs2002-11-121-22/+31
| | | | | the functions, and add extra optimization to Tcl_NumUtfChars for one-byte/char case.
* * generic/tclStringObj.c (Tcl_GetCharLength): optimize for thehobbs2002-11-121-5/+19
| | | | | | ascii char case. (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar. (FillUnicodeRep): Use TclUtfToUniChar.
* * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMPhobbs2002-11-121-10/+19
| | | | | to use memcmp in the one-byte/char case, also use direct index for INST_STR_INDEX in that case.
* * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc):hobbs2002-11-121-8/+26
| | | | | | | (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar. (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations for Tcl_UniCharToUtf call. These improve encoded channel conversion speeds by up to 20%.
* * tests/split.test: added 1-char string split testshobbs2002-11-122-16/+65
| | | | | | | | | * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also added a special case for single-ascii-char splits. (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support getting ranges of ByteArrays (reverts change from 2000-05-26). (TraceExecutionProc) add proper static declaration.