summaryrefslogtreecommitdiffstats
path: root/win/tclWinPipe.c
Commit message (Collapse)AuthorAgeFilesLines
...
| | * The windows port of expect can call TclWinAddProcess before anydavygrvy2003-09-281-1/+4
| | | | | | | | | | | | | | | of the other pipe functions. Added a missing PipeInit() call to make sure the initialization happens.
| | * * win/Makefile.in: Don't define TCL_DBGXmdejong2003-07-161-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENTdgp2003-03-121-3/+6
| | | | | | | | | | | | | | | * 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.
| * | Various CYGWIN-related fixesnijtmans2010-01-311-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix various gcc-4.5.2 64-bit warning messages,nijtmans2011-01-251-17/+2
| | | | | | | | | | | | e.g. by using full 64-bits for socket fd's
* | | Eliminate many tclWinProcs-> indirect calls, which are no longer needed.nijtmans2010-10-121-23/+22
| | | | | | | | | | | | Fix some MSVC 6.0 warnings
* | | [Bug 3069278]: Breakage on head Windows triggered by install-tzdata, final fixnijtmans2010-09-211-3/+3
| | |
* | | Eliminate tclWinProcs->useWide everywhere, since the value is always "1" on ↵dogeen_assembler_splitnijtmans2010-09-201-24/+8
| | | | | | | | | | | | platforms >win95
* | | mingw should always link with -ladvapi32nijtmans2010-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove ascii variant of tkWinPocs table, it is no longer necessary. Fix CreateProcess signature and remove unused GetModuleFileName and lstrcpy mingw/cygwin fixes: <tchar.h> should always be included, and fix conflict in various macro values: Always force the same values as in VC++.
* | | [Freq 2965056]: Windows build with -DUNICODEnijtmans2010-08-301-7/+7
| | |
* | | * win/Makefile.in, win/makefile.bc, win/makefile.vc, win/tcl.dsp:hobbs2010-08-041-77/+5
| | | | | | | | | | | | | | | | | | | | | * win/tclWinPipe.c (TclpCreateProcess): * win/stub16.c (removed): removed Win9x tclpip8x.dll build and 16-bit application loader stub support. Win9x is no longer supported.
* | | Move TCHAR fallback typedef from tcl.h to tclPlatDecls.h (as suggested by dgp)nijtmans2010-04-221-2/+2
| | | | | | | | | | | | Eliminate various unnecessary type casts.
* | | stub16.c Don't hide that we use the ASCII API here.nijtmans2010-03-201-3/+3
| | | | | | | | | | | | tclWinPipe.c 2 unnecessary type casts.
* | | test that tclOO stubs are present in stub librarynijtmans2010-03-071-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | Applied missing part of [Patch 2961556] Change all tclWinProcs signatures to use TCHAR* in stead of WCHAR*. This is meant as preparation to make [Enh 2965056] possible at all.
* | | Eliminate all internal Tcl_WinUtfToTCharnijtmans2010-02-151-3/+3
| | | | | | | | | | | | | | | and Tcl_WinTCharToUtf calls, needed for mslu support.
* | | reverted earlier rename from tcl*Stubs tonijtmans2010-02-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | tcl*ConstStubs, it's not necessary at all. tclEnsemble.c: Fix signed-unsigned mismatch make tclWinProcs "const" Add first part of mslu support, See [Feature Request #2819611]
* | | Revert [2009-12-21] change in tcl.h, in steadnijtmans2010-01-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | resolve the CYGWIN inclusion problems by re-arranging the inclusions at other places. Make cygwin configuration error into a warning: CYGWIN compilation works although there still are test failures.
* | | Fix TCL_LL_MODIFIER for Cygwinnijtmans2010-01-131-4/+2
| | | | | | | | | | | | | | | and various other minor CYGWIN compilation problems
* | | * win/tclWinDde.c: VC++ 6.0 doesn't havenijtmans2010-01-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * win/tclWinReg.c PDWORD_PTR * win/tclWinThrd.c: Fix various minor gcc warnings. * win/tclWinTime.c * win/tclWinConsole.c Put channel type definitions * win/tclWinChan.c in static const memory * win/tclWinPipe.c * win/tclWinSerial.c * win/tclWinSock.c * generic/tclIOGT.c * generic/tclIORChan.c * generic/tclIORTrans.c * unix/tclUnixChan.c * unix/tclUnixPipe.c * unix/tclUnixSock.c * unix/configure (regenerated with autoconf 2.59) * tests/info.test: Make test independant from tcltest implementation.
* | | Various CYGWIN-related fixes. In the win32 configure script, CYGWIN is still ↵nijtmans2009-12-211-3/+3
| | | | | | | | | | | | not enabled yet, but at least it is a step in the right direction.
* | | - eliminate some unnessary type castsnijtmans2009-02-031-2/+2
| | | | | | | | | | | | | | | - some internal const decorations - spacing
* | | Fix [Bug 2380318]dkf2008-12-031-6/+50
| | |
* | | Implementation of TIP #210.dkf2008-11-291-36/+86
| | |
* | | Style improvements - invoking callbacks without visual junk.dkf2008-10-261-16/+15
| | |
* | | TIP #304 implementationferrieux2008-07-211-1/+52
|/ /
* | various "const" additions, in line with TIP #27nijtmans2007-02-201-17/+17
| |
* | * win/tclWinPipe.c (TclpCreateProcess): change panics to Tclhobbs2006-03-291-31/+38
| | | | | | | | errors and do proper refcounting of noe objPtr. [bug 1194429]
* | * doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made itandreas_kupries2006-03-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | Finalization of the sockets/pipesvasiljevic2006-03-101-33/+10
| | | | | | | | | | | | | | | | 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/tclWinPort.h: Applied patch #1267871 by Matt Newman forpatthoyts2005-11-041-9/+9
| | | | | | | | | | | | * 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).
* | ANSIfydkf2005-11-041-28/+30
| |
* | * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems todkf2005-07-281-2/+2
| | | | | | | | | | | | | | | | * 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]
* | Getting more systematic about styledkf2005-07-241-647/+642
| |
* | bug 1225044Kevin B Kenny2005-06-221-2/+7
| |
* | bug 1225727Kevin B Kenny2005-06-221-7/+4
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | TIP#218 IMPLEMENTATIONandreas_kupries2005-01-271-4/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tclUtil.c: Updated Tcl_GetNameOfExecutable() todgp2004-12-011-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Patch 976520 reworks several of the details involved withdgp2004-11-301-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | * win/tclWinPipe.c: The pipe channel driver now respects the -blocking optiondavygrvy2004-11-091-47/+72
| | | | | | | | | | | | | | | | | | | | 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/tclBasic.c:dgp2004-10-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | More formatting fixes...dkf2004-10-061-20/+18
| |
* | * win/tclWinPipe.c:davygrvy2004-05-301-44/+56
| | | | | | | | | | | | | | | | | | * win/tclWinPort.h: Reworked the win implementation of Tcl_WaitPid to support exitcodes in the 'signed short' range. Even though this range is non-portable, it is valid on windows. Detection of exception codes are now more accurate. Previously, an application that exited with ExitProcess((DWORD)-1); was improperly reported as exiting with SIGABRT.
* | (BuildCommandLine): Use the existence of contents in the linePtr ratherdavygrvy2004-05-101-2/+2
| | | | | | | | than the scratch DString post the append, as this more clear.
* | (TclpCreateProcess): When under NT, with no console, and executing adavygrvy2004-05-101-2/+2
| | | | | | | | | | DOS application, the path priming does not need an ending space as BuildCommandLine() will do this for us.
* | (BuildCommandLine): Moved non-obvious appending logic to outside the loopdavygrvy2004-05-101-6/+7
| | | | | | | | and added commentary for its purpose.
* | Refix bug 789040 re-entered in rev 1.41chengyemao2004-05-081-2/+3
| |
* | * tests/winPipe.test: Six more cases added.davygrvy2004-02-021-6/+2
| | | | | | | | | | * win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases.
* | * tests/winPipe.test: Added proof that BuildCommandLine() is notdavygrvy2004-02-021-8/+12
| | | | | | | | | | | | | | | | doing the "N backslashes followed a quote -> insert N * 2 + 1 backslashes then a quote" rule needed for the crt's parse_cmdline(). * win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases.
* | * tests/winPipe.test: more pass-thru commandline verifications.davygrvy2004-02-011-8/+2
| | | | | | | | | | | | | | * win/tclWinPipe.c (BuildCommandLine): Special case quoting for '{' not required by the c-runtimes's _setargv(). * win/tclAppInit.c: Removed our custom setargv() in favor of the one provided by the c-runtime. [Bug 672938]