| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split out functionality of TclInExit to make it
clear which one should be called in each situation.
* generic/tclInt.decls: Declare TclInThreadExit.
* generic/tclIntDecls.h: Regen.
* generic/tclStubInit.c: Regen.
* mac/tclMacChan.c (StdIOClose):
* unix/tclUnixChan.c (FileCloseProc):
* win/tclWinChan.c (FileCloseProc):
* win/tclWinConsole.c (ConsoleCloseProc):
* win/tclWinPipe.c (TclpCloseFile):
* win/tclWinSerial.c (SerialCloseProc): Invoke the
new TclInThreadExit method instead of TclInExit.
|
|
|
|
|
|
|
|
|
| |
* unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal
configure error if no ar program can be found on the
path. [Bug #582039]
* win/configure: Regen.
* win/configure.in: Check that AR, RANLIB, and RC
are found on the path when building with gcc.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set.
* win/makefile.vc:
* win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES
macro which also adds the registry and dde object files to the link
of the shell. [Patch 479697] Also factored some additional macros
that will be helpful for extension authors. Version grepping of tcl.h
will need to be added to complete this.
* win/buildall.vc.bat: Added more descriptive commentary.
|
| |
|
| |
|
|
|
|
| |
to handle this. [Bug 618019]
|
|
|
|
|
|
|
| |
* win/configure: regen
* win/configure.in: removed SC_ENABLE_MEMDEBUG call
* win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
|
|
|
|
|
|
|
|
| |
* win/configure:
* win/configure.in:
* win/Makefile.in:
* win/makefile.vc:
* win/makefile.bc: Updated to reg1.1
|
|
|
|
|
| |
* tests/registry.test: the registry Environment. Noted proper code
* win/tclWinReg.c: in the docs. [Patch #625453]
|
|
|
|
| |
* win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch #624010] (howell)
|
|
|
|
|
| |
* win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by
default in cygwin configure on Windows.
|
| |
|
|
|
|
|
|
| |
terminates the thread that calibrates the performance counter, so
that the thread won't outlive unloading the Tcl DLL. [Tcl bug
620735].
|
|
|
|
|
|
|
| |
the existing lack of a Ctrl+C exit to call exit handlers when built for thread
support. Also, properly handles exits from other conditions such as
CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT
signals. In all cases, exit handlers will be called. [Bug 219355]
|
|
|
|
| |
when TCL_THREADS is defined.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: of CVS snapshots with the actual 8.4.0
* tools/tcl.wse.in: release.
* unix/configure.in:
* unix/tcl.spec:
* win/configure.in:
* unix/configure: autoconf
* win/configure:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added basic Cygwin support.
* win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
(SC_PATH_TKCONFIG): Likewise.
(SC_PROG_TCLSH): Likewise.
(SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin
flags. Add -mwin32 to extra_cflags and extra_ldflags.
Remove ``-e _WinMain@16'' from LDFLAGS_WINDOW.
* win/configure.in: Allow Cygwin build.
(SEH test): Define to be 1 instead of empty value.
(EXCEPTION_DISPOSITION): Add test.
* win/configure: Regenerate.
* generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let
the user decide whether to use Windows or POSIX personality.
(TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define
for Cygwin.
* generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for
Cygwin.
* generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX
to native format.
(TclDoGlob): Likewise.
* generic/tclPlatDecls.h (TCHAR): Define for Cygwin.
* win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree,
TclpSysRealloc): Define for Cygwin.
|
| |
|
| |
|
|
|
|
|
| |
pipe if there was something to write. This may prevent infinite
wait on exit.
|
|
|
|
|
| |
Applied patch for bug #599428, provided by Miguel Sofer
<msofer@users.sourceforge.net>.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/configure.in:
* win/tclWinPort.h: putenv() on some systems copies the buffer
rather than taking reference to it. This causes memory leaks
and is know to effect mswindows (msvcrt) and NetBSD 1.5.2 . This
patch tests for this behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1
when approriate. Thanks to David Welton for assistance.
[Bug 414910]
* unix/configure: regen'd
|
|
|
|
|
|
|
|
|
|
| |
* unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@.
* win/configure.in:
* unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG.
* win/tcl.m4:
* unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of
configure to (de)activate memory validation and debugging
(TCL_MEM_DEBUG). No need to modify the makefile anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: HEAD from the 8.4b2 release.
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
* win/README.binary:
* win/configure.in:
* unix/configure: autoconf
* win/configure:
* library/http/http.tcl: Corrected installation directory of
* library/msgcat/msgcat.tcl: the package tcltest 2.2. Added
* library/opt/optparse.tcl: comments in other packages to remind
* library/tcltest/tcltest.tcl: that installation directories need
* unix/Makefile.in: updates to match increasing version
* win/Makefile.in: numbers. [Bug 597450]
* win/makefile.bc:
* win/makefile.vc:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/Concat.3: all remaining public interfaces of Tcl.
* doc/CrtCommand.3: Notably, the parser no longer writes on
* doc/CrtSlave.3: the string it is parsing, so it is no
* doc/CrtTrace.3: longer necessary for Tcl_Eval() to be
* doc/Eval.3: given a writable string. Also, the
* doc/ExprLong.3: refactoring of the Tcl_*Var* routines
* doc/LinkVar.3: by Miguel Sofer is included, so that the
* doc/ParseCmd.3: "part1" argument for them no longer needs
* doc/SetVar.3: to be writable either.
* doc/TraceVar.3:
* doc/UpVar.3: Compatibility support has been enhanced so
* generic/tcl.decls that a #define of USE_NON_CONST will remove
* generic/tcl.h all possible source incompatibilities with
* generic/tclBasic.c the 8.3 version of the header file(s).
* generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does
* generic/tclCompCmds.c what USE_NON_CONST used to do -- disable
* generic/tclCompExpr.c only those new CONST's that introduce
* generic/tclCompile.c irreconcilable incompatibilities.
* generic/tclCompile.h
* generic/tclDecls.h Several bugs are also fixed by this patch.
* generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429]
* generic/tclEvent.c
* generic/tclInt.decls
* generic/tclInt.h
* generic/tclIntDecls.h
* generic/tclInterp.c
* generic/tclLink.c
* generic/tclObj.c
* generic/tclParse.c
* generic/tclParseExpr.c
* generic/tclProc.c
* generic/tclTest.c
* generic/tclUtf.c
* generic/tclUtil.c
* generic/tclVar.c
* mac/tclMacTest.c
* tests/expr-old.test
* tests/parseExpr.test
* unix/tclUnixTest.c
* unix/tclXtTest.c
* win/tclWinTest.c
|
|
|
|
| |
so we have to do it.
|