| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
for greater clarity of code.
|
|
|
|
|
|
|
| |
* tests/compile.test: Corrects failure of bytecompiled
[catch {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204].
This patch is a workaround for 8.4.X. A new opcode INST_RETURN is a
better long term solution for 8.5 and later.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself
by accident causing the install target to put the tree at the root
of the drive built on. Whoops..
Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc'
to allow the switching _on_ of the thread allocator. Under testing,
I found it not to be benificial under windows for the purpose of the
application I was using it for. It was more important for this app
that resources for tcl threads be returned to the system rather than
saved/moved to the global recycler. Be extra clean or extra fast
for the default threaded build? Let's move to clean and allow it to
be switched on for users who find it benificial for their use of
threads.
|
| |
|
|
|
|
| |
Reported by Joe Mistachkin <joe@mistachkin.com>.
|
| |
|
|
|
|
|
| |
(Tcl_ThreadAlert): Check that the stub functions are non-NULL
before calling them. They could be set to NULL by Tcl_SetNotifier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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..
|
|
|
|
|
|
|
| |
* win/configure.in: the 8.4.1.1 patchlevel.
* unix/configure: autoconf
* win/configure autoconf
|
|
|
|
|
| |
propagate negative return codes up the call stack. [Bug 647307]
* tests/proc.test (proc-6.1): Test for Bug 647307
|
|
|
|
|
| |
string "0x" (recognize leading "0" as an integer). [Bug 648441].
* tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
|
|
|
|
|
| |
* generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock
must exist and be called unconditional of TCL_THREADS. [Bug #651139]
|
|
|
|
|
|
|
|
| |
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/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.
|
|
|
|
| |
their original values on finalize to allow reuse of the library.
|
|
|
|
| |
failures that need to be resolved first.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
tclStubsPtr to allow for repeated load/unload of the Tcl dll by
hosting apps. [Bug 615304]
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
to CTRL_BREAK_EVENT as it can't be ignored by the child.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
%
|
|
|
|
| |
DuplicateHandle() incorrectly used [Bug 618852].
|
|
|
|
| |
error which resulted in 2.0 looking less than 1.1.
|
|
|
|
|
| |
table as it wasn't referenced anywhere and cleaned-up some
casting that that wasn't needed.
|
|
|
|
|
| |
TclX didn't like it. Even though the core doesn't use the
prototypes, do offer them.
|
|
|
|
| |
confusion.
|
|
|
|
| |
prevent possible FMR error in bad alias cases.
|
|
|
|
| |
cleanup all encodings by using Tcl_FirstHashEntry in the while loop.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
TcpAccept() hack that has no business being in the core.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
release #4 build both tcl and tk without problems.
|
|
|
|
| |
* library/opt/optparse.tcl: string compare
|
|
|
|
|
| |
* generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault
when creating an alias command over the interp name. [Bug #641195]
|
|
|
|
|
|
|
|
|
|
| |
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]
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|