| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
example better in order to prevent problems when using HKEY_PERFORMANCE_DATA.
Forgot one important '%'
|
| |
|
|\ |
|
| |
| |
| | |
to find end of written data bytes.
|
|\ \
| |/
| |
| | |
Implement TclWinGetSockOpt, TclWinGetServByName
and TclWinCPUID for Cygwin
|
| |\
| | |
| | |
| | | |
Implement TclWinGetSockOpt, TclWinGetServByName
and TclWinCPUID for Cygwin
|
| | |\
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
for win64 compatibility with future cygwin64
correctly use win32 as default when cross-compiling under cygwin
|
|\ \ \
| |/ / |
|
| |/
| |
| | |
On cygwin, install dll's in /usr/bin, not in /usr/lib
|
|\ \
| |/ |
|
| | |
|
| | |
|
|\ \
| |/
| | |
more harm than good. Purged them.
|
| |
| |
| | |
more harm than good. Purged them.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
by David Gravereaux in 2004. See ChangeLog entry 2004-01-19.
[Bug 1381436].
Fixed a thread-safety problem with the process list. The delayed
cut operation after the wait was going stale by being outside
the list lock. It now cuts within the lock and does a locked
splice for when it needs to instead. [Bug 859820]
|
| |
| |
| |
| |
| |
| | |
not over the thread-exit handler, because the order of actions the
Tcl generic core will impose may result in cores/hangs if the thread
exit handler tearis down pipes too early (see Bug # 1437595).
|
| |
| |
| |
| |
| | |
* win/tclWinPort.h: provides extended error code support.
* tests/exec.test: Wrote some tests for this feature.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the -blocking option when closing. The windows pipe driver
now has the same behavior as the UNIX side. This change is
to avoid a hung shell when exiting due to open pipes that
refuse to close in a graceful manner.
* doc/open.n: Added a note about -blocking 0 and lack of
exit status as it had never been documented. [Bug 947693]
***POTENTIAL INCOMPATIBILITY***
Scripts that use async pipes on windows, must (like the
UNIX side) set -blocking to 1 before calling [close] to
receive the exit status.
* tests/winPipe.test (winpipe-6.1/2): added 'fconfigure $f
-blocking 1' so the exit status can be acquired.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API,
* generic/tcl.decls: extended testsuite, and
* generic/tcl.h: implementation. Removal of old
* generic/tclIO.c: driver-specific TclpCut/Splice
* generic/tclInt.h: functions. Replaced with generic
* tests/io.test: thread-action calls through the
* unix/tclUnixChan.c: new hooks. Update of all builtin
* unix/tclUnixPipe.c: channel drivers to version 4.
* unix/tclUnixSock.c: Windows drivers extended to
* win/tclWinChan.c: manage thread state in a thread
* win/tclWinConsole.c: action handler.
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
* mac/tclMacChan.c:
|
| |
| |
| |
| |
| | |
DOS application, the path priming does not need an ending space as
BuildCommandLine() will do this for us.
|
| | |
|
| |
| |
| |
| | |
rules of quoting
|
| |
| |
| |
| |
| | |
with [Bug 805605] to the code, fixing the incorrect use of
ispace noted by Ronald Dauster <ronaldd@users.sourceforge.net>.
|
| |
| |
| |
| |
| |
| | |
This bug built a command line with a missing space between
tclpipe.dll and the following arguments. It caused error
in Windows 98 when exec command.com (e.g. dir) [Bug 789040]
|
| |
| |
| |
| |
| | |
of the other pipe functions. Added a missing PipeInit() call to make
sure the initialization happens.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
symbol for every compile. Instead, define
TCL_PIPE_DLL only when compiling tclWinPipe.c.
This will break other build systems, so
they will need to remove the TCL_DBGX define
and replace it with a define for TCL_PIPE_DLL.
* win/makefile.vc: Ditto.
* win/tclWinPipe.c (TclpCreateProcess):
Remove PREFIX_IDENT and DEBUG_IDENT from
top of file. Use TCL_PIPE_DLL passed in
from build env instead of trying to construct
the dll name from already defined symbols.
This approach is more flexible and better
in the long run.
|
| |
| |
| |
| |
| | |
* win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's
public interface. Put them in win/tclWinPipe.c where they are used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
backported from HEAD. Still
configure script not modified,
so CYGWIN build is still
disabled. Reason: although the
build succeeds with those changes,
many tests still fail.
|
| | |
|
| |
| |
| |
| | |
errors and do proper refcounting of noe objPtr. [bug 1194429]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tcl.h: the version where the "truncateProc"
* generic/tclIO.c: is defined at, and moved all channel
* generic/tclIOGT.c: drivers of Tcl to v5.
* generic/tclIORChan.c:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* win/tclWinChan.c:
* win/tclWinConsole.c:
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
| |
| |
| |
| |
| |
| |
| |
| | |
is now solely done in TclpFinalizeSockets() and
TclpFinalizePipes() and not over the thread-exit handler,
because the order of actions the Tcl generic core will
impose may result in cores/hangs if the thread exit handler
tears down corresponding subsystem(s) too early.
|
| |
| |
| |
| |
| |
| | |
* win/tclWinPipe.c: extended error code support on Windows.
* tests/exec.test: Tests for extended error codes.
* generic/tclPipe.c: Permit long codes (platform macros permitting).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for
* tests/exec.test (exec-19.1): files opened in a pipeline
like ">>this". Note that Windows cannot support such access; there is
no equivalent flag on the handle that can be set at the kernel-call
level. The test is unix-specific in every way. [Bug 1245953]
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API,
* generic/tcl.decls: extended testsuite, and
* generic/tcl.h: implementation. Removal of old
* generic/tclIO.c: driver-specific TclpCut/Splice
* generic/tclInt.h: functions. Replaced with generic
* tests/io.test: thread-action calls through the
* unix/tclUnixChan.c: new hooks. Update of all builtin
* unix/tclUnixPipe.c: channel drivers to version 4.
* unix/tclUnixSock.c: Windows drivers extended to
* win/tclWinChan.c: manage thread state in a thread
* win/tclWinConsole.c: action handler.
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclEncoding.c: make use of a ProcessGlobalValue for
* generic/tclEvent.c: storing the executable name.
Added internal routines Tcl(Get|Set)ObjNameOfExecutable() to access
that storage in Tcl_Obj, rather than string format.
* unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use
* win/tclWinFile.c: TclSetObjNameOfExecutable to store the
executable name it computes.
* generic/tclInt.h: Added internal stub entries for
* generic/tclInt.decls: TclpFindExecutable and
Tcl(Get|Set)ObjNameOfExecutable.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form
* win/tclWinPipe.c: instead of string form.
* unix/tclUnixTest.c: Update [testfindexecutable] command to use
new internal interfaces.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
startup/initialization of the Tcl library, focused on the
activities of Tcl_FindExecutable().
* generic/tclIO.c: Removed bogus claim in comment that
encoding "iso8859-1" is "built-in" to Tcl.
* generic/tclInt.h: Created a new struct ProcessGlobalValue,
* generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue,
and function type TclInitProcessGlobalValueProc. Together, these
take care of the housekeeping for "values" (things that can be
held in a Tcl_Obj) that are global across a whole process. That is,
they are shared among multiple threads, and epoch and mutex
protection must govern the validity of cached copies maintained
in each thread.
* generic/tclNotify.c: Modified TclInitNotifier() to tolerate
being called multiple times in the same thread.
* generic/tclEvent.c: Dropped the unused argv0 argument to
TclInitSubsystems(). Removed machinery to unsure only one
TclInitNotifier() call per thread, now that that is safe.
Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue,
and moved them to tclEncoding.c.
* generic/tclBasic.c: Updated caller.
* generic/tclInt.h: TclpFindExecutable now returns void.
* unix/tclUnixFile.c:
* win/tclWinFile.c:
* win/tclWinPipe.c:
* generic/tclEncoding.c: Built new encoding search initialization
on a foundation of ProcessGlobalValues, exposing new routines
Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name
to directory pathname keeps track of where encodings are available
for loading. Tcl_FindExecutable greatly simplified into just
three function calls. The "library path" is now misnamed, as its
only remaining purpose is as a foundation for the default encoding
search path.
* generic/tclInterp.c: Inlined the initScript that is evaluated
by Tcl_Init(). Added verification after initScript evaluation
that Tcl can find its installed *.enc files, and that it has
initialized [encoding system] in agreement with what the environment
expects. [tclInit] no longer driven by the value of $::tcl_libPath;
it largely constructs its own search path now, rather than attempt
to share one with the encoding system.
* unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new
* win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment
can reveal that Tcl thinks the [encoding system] should be, even
when an incomplete encoding search path, or a missing *.enc file
won't allow that initialization to succeed. TclpInitLibraryPath
reworked as an initializer of a ProcessGlobalValue.
* unix/tclUnixTest.c: Update implementations of [testfindexecutable],
[testgetdefenc], and [testsetdefenc].
* tests/unixInit.test: Corrected tests to operate properly even
when a value of TCL_LIBRARY is required to find encodings.
* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
are candidates for public exposure by future TIPs.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclTest.c: Updated [testencoding] to use
* tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
when closing is the same way the UNIX side works. This is avoid a hung shell
when exiting due to open pipes that refuse to close in a graceful manner.
***POTENTIAL INCOMPATIBILITY***
Scripts that use async pipes on windows, must (like the UNIX side) set -blocking
to 1 before calling [close] to receive the exit status. [Bug 947693]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclBinary.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompExpr.c:
* generic/tclDictObj.c:
* generic/tclEncoding.c:
* generic/tclExecute.c:
* generic/tclFCmd.c:
* generic/tclHistory.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclIO.c:
* generic/tclIOCmd.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclPkg.c:
* generic/tclResult.c:
* generic/tclScan.c:
* generic/tclTimer.c:
* generic/tclTrace.c:
* generic/tclUtil.c:
* generic/tclVar.c:
* unix/tclUnixFCmd.c:
* unix/tclUnixPipe.c:
* win/tclWinDde.c:
* win/tclWinFCmd.c:
* win/tclWinPipe.c:
It is a poor practice to directly set or append to the value
of the objResult of an interp, because that value might be
shared, and in that circumstance a Tcl_Panic() will be the
result. Searched for example of this practice and replaced
with safer alternatives, often using the Tcl_AppendResult()
routine that dkf just rehabilitated.
* library/dde/pkgIndex.tcl: Bump to dde 1.3.1
|