summaryrefslogtreecommitdiffstats
path: root/win/tclWinPipe.c
Commit message (Collapse)AuthorAgeFilesLines
* (cherry-pick): Fix [c975939973]: Usage of gnu_printf in latest mingw-w64. jan.nijtmans2020-10-221-5/+5
| | | Change (internal, windows-only) TCL_I_MODIFIER to TCL_Z_MODIFIER, since that's how it's called in Tcl 8.7 and up
* Unbreak shared windows build. Remove some ARGSUSED usage.jan.nijtmans2020-04-171-1/+0
|
* Fix signed<->unsigned comparsion warning (occurring in some gcc compilation ↵jan.nijtmans2019-01-041-3/+3
| | | | | flags). Micro-optimization: Use char array in stead of const char pointer for static variable.
* code review, skip slow test winpipe-8.2 executed args from injectList ↵sebres2018-08-231-31/+50
| | | | particularly (normally winpipe-8.3 covers the same but jointly), to enable use parameter `-constraints slowTest`, added new test with randomly generated potentially dangerous args
* code review, restored backwards compatibility of the simplest escape of ↵sebres2018-08-231-12/+25
| | | | quote-chars (so reverted several tests winpipe-7.x)
* fixes escape for special cases (+ more test-cases):sebres2018-08-211-32/+110
| | | | - `%` char to be escaped (quoted) in any case (regardless pairing flag), otherwise `%username%` will be interpolated as username. - escape of multiple backslashes before quote is different (as without following quote) in unpaired quote syntax (upaired flag set)
* because executable (1st argument) always proper escaped now, don't need to ↵sebres2018-08-201-1/+1
| | | | replace long path name of batch-executable with short path name (reduced to 16-bit applications only).
* small amend: avoid reset of unpaired quote flag between arguments (previous ↵sebres2018-08-201-7/+18
| | | | affects next) + test cases extended with several injection checks.
* win: fixes [21b0629c81] - exec/open process pipe under windows (0-day ↵sebres2018-08-201-34/+43
| | | | vulnerability - insufficient escape)
* win: TclpCreateProcess or [exec process ...] - search for application ↵sebres2018-08-171-4/+5
| | | | | | extended with ".cmd" extension: automatically tries appending ".com", ".exe", ".bat" and ".cmd", in that order, to the name, looking for an executable. (partially cherry-picked from 8.6 branch)
* (cherry-pick): fix typo-bug (using wrong thread handle by set priority)jan.nijtmans2017-04-281-1/+1
|
* Unbreak msvc builds, by depending on tclPort.h for inclusion of <sys/stat.h>.jan.nijtmans2013-02-101-2/+0
|
* [Bug #3362446]: registry keys command fails with 8.5/8.6. Follow Microsofts ↵jan.nijtmans2012-07-111-1/+1
| | | | | example better in order to prevent problems when using HKEY_PERFORMANCE_DATA. Forgot one important '%'
* add TCL_I_MODIFIER and use it in the correct placesjan.nijtmans2012-07-081-1/+1
|
* 1189293 Make "<<" binary safe.dgp2012-07-051-1/+3
|\
| * 1189293 Make '<<' redirects binary safe. Don't use strlen() (or equivalent)dgp2012-07-021-1/+3
| | | | | | to find end of written data bytes.
* | [Bug 3508771] load tclreg.dll in cygwin tclshjan.nijtmans2012-04-241-1/+1
|\ \ | |/ | | | | Implement TclWinGetSockOpt, TclWinGetServByName and TclWinCPUID for Cygwin
| * [Bug 3508771] load tclreg.dll in cygwin tclshjan.nijtmans2012-04-241-1/+1
| |\ | | | | | | | | | Implement TclWinGetSockOpt, TclWinGetServByName and TclWinCPUID for Cygwin
| | * merge trunkjan.nijtmans2012-04-241-1/+1
| | |\ | | |/ | |/|
| | * tclpGetPid signature change (stub entry only, not for macro),jan.nijtmans2012-04-061-1/+1
| | | | | | | | | | | | for win64 compatibility with future cygwin64 correctly use win32 as default when cross-compiling under cygwin
* | | make some more internal tables constjan.nijtmans2012-04-231-1/+1
|\ \ \ | |/ /
| * | make some more internal tables constjan.nijtmans2012-04-231-1/+1
| |/ | | | | On cygwin, install dll's in /usr/bin, not in /usr/lib
* | [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-151-15/+0
|\ \ | |/
| * [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-151-25/+0
| |
* | [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-091-9/+0
| |
* | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
|\ \ | |/ | | more harm than good. Purged them.
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | more harm than good. Purged them.
| * * win/tclWinPipe.c (Tcl_WaitPid): Backport of fix made to the headandreas_kupries2006-03-141-5/+21
| | | | | | | | | | | | | | | | | | | | 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]
| * Finalization of the pipes are now solely done in TclpFinalizePipes andvasiljevic2006-03-101-34/+11
| | | | | | | | | | | | 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/tclWinPipe.c: Applied patch #1267871 by Matt Newman whichpatthoyts2005-11-041-12/+8
| | | | | | | | | | * win/tclWinPort.h: provides extended error code support. * tests/exec.test: Wrote some tests for this feature.
| * Backport of fix for [Bug 1245953]dkf2005-07-281-2/+2
| |
| * bug 1225044Kevin B Kenny2005-06-221-21/+41
| |
| * bug 1225727Kevin B Kenny2005-06-221-7/+4
| |
| * bugs 1194458 and 1225044Kevin B Kenny2005-06-211-32/+17
| |
| * * win/tclWinPipe.c: The pipe channel driver now respectsdavygrvy2005-04-191-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * 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: * mac/tclMacChan.c:
| * (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): Append a space when the path got primed.davygrvy2004-05-101-4/+6
| |
| * backport of BuildCommandLine changes to mirror msvcrt's parse_cmdline() ↵davygrvy2004-02-251-16/+10
| | | | | | | | rules of quoting
| * * win/tclWinPipe.c (BuildCommandLine): Applied the patch comingandreas_kupries2003-10-211-3/+6
| | | | | | | | | | with [Bug 805605] to the code, fixing the incorrect use of ispace noted by Ronald Dauster <ronaldd@users.sourceforge.net>.
| * * win/tclWinPipe.c: fixed a bug in BuildCommandLine.mdejong2003-10-041-2/+3
| | | | | | | | | | | | 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]
| * 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.
* | 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).