Brad King
208530090d
Merge branch 'upstream-kwsys' into update-kwsys
2014-09-26 09:34:26 -04:00
Brad King
f668112039
Merge branch 'upstream-kwsys' into update-kwsys
2013-11-25 11:19:42 -05:00
Brad King
e33fa5b678
Merge branch 'upstream-kwsys' into update-kwsys
2012-12-19 08:09:36 -05:00
Brad King
b9e3c243d4
KWSys: Teach Process to error on empty command
...
Do not try to execute a child with no command line. Previously this led
to a silent hang.
2010-06-11 11:00:38 -04:00
Brad King
2aaa967715
KWSys: Fix process tree kill on 64-bit Windows
...
We enumerate processes to identify those whose parent is being killed so
that we can recursively kill the children. Enumeration uses the
Process32(First|Next) windows API functions, which accept PROCESSENTRY32
objects to be filled. This commit corrects the declaration of the entry
structure to account for its size on 64-bit Windows.
2009-11-30 16:30:19 -05:00
Brad King
de955e4b6d
Convert KWSys to OSI-approved BSD License
...
This converts the KWSys license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the KWSys copyright to
cover the full development time range.
2009-09-28 11:37:35 -04:00
Bill Hoffman
7491f52992
ENH: first pass at VS 10, can bootstrap CMake, but many tests still fail
2009-06-25 16:41:57 -04:00
Bill Lorensen
68dfcefbcb
COMP: sprintf warnings. DWORD should use %ld rather than %d. Also, const char *p, a shadowed variable warning.
2008-05-10 22:48:53 -04:00
Bill Hoffman
4ae802d9c1
ENH: fix resource leak
2007-07-24 10:05:31 -04:00
Brad King
688ebad20e
ENH: Added KWSYSPE_DEBUG macro to print debugging trace information. Added TODO comment explaining why process execution can still hang when a grandchild keeps the output pipes open.
2007-04-12 10:56:20 -04:00
David Cole
7d033e5c2b
COMP: Fix or suppress warnings on Borland and Mac dashboards. Definitely fix "may be used uninitialized" warnings.
2006-10-09 10:06:03 -04:00
Brad King
6eef6638a5
ENH: Added Process_SetPipeNative method to allow user code to override the pipes connected to the child pipeline.
2006-10-03 09:10:03 -04:00
Brad King
dd332a00cc
ENH: Re-implemented command line argument shell quoting to support several platforms with one code base.
2006-09-27 13:43:46 -04:00
Brad King
683346fa3d
ENH: Adding 'System' component of C sources to hold system tools written in C. Moved windows shell command line argument escaping code to kwsysSystem_Windows_ShellArgument and kwsysSystem_Windows_ShellArgumentSize.
2006-09-21 11:49:36 -04:00
Brad King
94bf03319b
BUG: When handing the child stdin pipe a file, allow another process to be writing to the file at the same time. This allows children such as tail -f to function properly.
2006-07-17 13:34:00 -04:00
Brad King
f26a0302be
COMP: Fix conversion warning.
2006-06-19 09:49:52 -04:00
Brad King
6438bec4c9
ENH: Added Option_Verbatim to run whole command lines directly.
2006-06-15 14:40:42 -04:00
Brad King
58e8bfb849
BUG: Fixed deadlock condition when grandchildren are running after the children exit.
2006-05-21 10:27:13 -04:00
Bill Hoffman
5a2668b326
ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64
2006-03-30 13:49:56 -05:00
Brad King
b1443931b0
COMP: Fixed warnings for Borland 5.8.
2006-02-28 11:38:02 -05:00
Bill Hoffman
9891260a6d
ENH: add support for watcom wmake and wcl386
2006-01-17 10:21:45 -05:00
Brad King
a0e413ce63
ENH: Improved robustness of sharing parent pipes with children. This ensures that the parent pipe handles are inherited by the children. If a parent pipe handle is invalid a handle to an empty pipe is given to the child to make sure all pipes are defined for the children.
2005-12-20 13:22:22 -05:00
Brad King
5dae3d67f4
BUG: Do not close handle obtained from GetModuleHandle which does not increase the reference count of the module.
2005-11-16 11:36:05 -05:00
Brad King
7e7249cbd1
BUG: Fixed reusability of process object by clearing each pipe's Closed flag when cleaning up.
2005-07-07 09:05:59 -04:00
Brad King
5df6d35dc6
BUG: Fixed polling feature of WaitForData.
2005-06-17 14:05:35 -04:00
Brad King
fbe5a2e629
COMP: Fixed unused parameter and constant conditional warnings.
2005-04-22 09:21:19 -04:00
Brad King
8567e7d0bc
BUG: Do not close stdout/stderr pipes in parent if they are shared.
2005-04-21 16:05:09 -04:00
Brad King
caf54b2093
COMP: Adding work-around for CMake dependency scanning limitation. Any configured header included by KWSYS_HEADER() in a .c or .cxx file in kwsys itself must use this hack to get dependencies.
2005-04-13 16:46:09 -04:00
Andy Cedilnik
4a390c174c
ENH: Do kwsys testing as part of cmake testing, command line arguments are not experimental and add simple test for systemtools
2005-04-13 13:57:24 -04:00
Brad King
43225860b6
ENH: Re-arranged handling of the two threads per pipe to improve readability of code.
2004-07-13 16:50:55 -04:00
Brad King
a6c9cb9b0d
BUG: Fix for read pipe wakeup when child is writing alot of data and may fill the pipe buffer before WriteFile is called.
2004-07-13 16:23:49 -04:00
Brad King
1d6eecd949
ENH: Added windows implementation of Disown/Detach.
2004-07-07 18:15:20 -04:00
Brad King
ae28d93a72
ENH: Added kwsysProcess_Disown an kwsysProcess_Option_Detach to allow detached processes to be created. Currently implemented only on UNIX.
2004-07-07 17:27:50 -04:00
Brad King
b6fb2fe8f9
BUG: Do not wait for children to exit when killing them. Sometimes they do not really die.
2004-05-13 10:08:09 -04:00
Brad King
6c4ab7ec52
ENH: Adding native windows process tree kill to ProcessWin32.c. This replaces the ProcessWin32Kill.c implementation.
2004-05-10 14:54:22 -04:00
Brad King
dd70c8f82d
ERR: Avoiding namespace pollution: kw_sys -> kwsys_ns. Also undefining the macro at the correct time.
2004-05-10 13:38:33 -04:00
Andy Cedilnik
8da9b14cc6
ERR: On Borland preprocessor goes into recursion which adds some weid spaces in the include name. This fixes it
2004-05-07 14:22:48 -04:00
Bill Hoffman
99a1ec6c6d
BUG: make sure the correct state is set for expired processes
2004-05-07 12:52:46 -04:00
Brad King
db4fd2a15d
ENH: Adding process tree killing for Win32 process execution.
2004-05-06 15:34:04 -04:00
Brad King
d23636d48b
BUG: Corrected detection of exceptional exit code.
2004-01-28 10:59:46 -05:00
Bill Hoffman
dd7f85a9dc
ENH: fix for build on cygwin mingw
2004-01-26 13:32:20 -05:00
Brad King
1c8f885f9d
ENH: Added GetExceptionString method to provide an error description when GetState returns Exception.
2003-12-30 16:23:16 -05:00
Brad King
802601b606
ENH: Added SetPipeShared method to allow stdout and stderr pipes to be shared with the parent process.
2003-12-16 17:20:01 -05:00
Brad King
ce8a34907a
ENH: Updated copyright.
2003-12-15 16:30:46 -05:00
Brad King
c9e9e8d121
STYLE: Fixed typo on comment.
2003-12-14 13:48:18 -05:00
Brad King
5dcbef7dfe
ENH: Using CreateFile with FILE_FLAG_DELETE_ON_CLOSE to automatically delete the Win9x forwarding executable even if the parent process crashes.
2003-12-14 13:47:39 -05:00
Brad King
1f40a4205b
ENH: Added SetPipeFile method to allow the process pipeline stdin, stdout, and stderr to be redirected from/to files.
2003-12-13 14:13:54 -05:00
Brad King
dc96992e56
ENH: Code is now robust to New method returning NULL.
2003-12-13 10:36:22 -05:00
Brad King
b777b8656e
ENH: Cleaned up pipe numbering.
2003-12-07 14:09:58 -05:00
Brad King
ed853b5d70
ENH: Removed pipe selection argument from WaitForData method in kwsysProcess. This greatly simplifies its use.
2003-12-05 11:53:17 -05:00