summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/ProcessUNIX.c
Commit message (Collapse)AuthorAgeFilesLines
* Convert KWSys to OSI-approved BSD LicenseBrad King2009-09-281-11/+9
| | | | | | | 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.
* ENH: Provide unix-sytle command line parsingBrad King2009-07-131-256/+3
| | | | | | | Add System_Parse_CommandForUnix to the KWSys System interface as a utility to parse a unix-style command line. Move the existing implementation out of ProcessUNIX. Add a flags argument reserved for future use in providing additional behavior.
* COMP: Do not compile VMS-specific code on non-VMSBrad King2009-06-121-8/+7
| | | | | This helps avoid fixing VMS-specific code for non-VMS compilers where it isn't needed anyway.
* COMP:Fixed warning with gcc 4.3.3: passing argument 1 of ↵Francois Bertel2009-06-121-3/+3
| | | | kwsysProcessSetVMSFeature discards qualifiers from pointer target type.
* ENH: Teach KWSys Process basic VMS supportBrad King2009-06-101-9/+76
| | | | | | | | | | | | | | This achieves basic process execution on OpenVMS. We use work-arounds for different fork()/exec() behavior and a lack of select(). VMS emulates fork/exec using setjmp/longjmp to evaluate the child and parent return cases from fork. Therefore both must be invoked from the same function. Since select() works only for sockets we use the BeOS-style polling implementation. However, non-blocking reads on empty pipes cannot be distinguished easily from the last read on a closed pipe. Therefore we identify end of data by an empty read after the child terminates.
* BUG: Fix non-select process impl without timeoutBrad King2009-06-101-12/+8
| | | | | This avoids use of an uninitialized value in the KWSys ProcessUNIX polling implementation when no timeout is given.
* ENH: check in almost building VMS stuff with VMSBuild directory since the ↵Bill Hoffman2009-04-231-0/+3
| | | | bootstrap script will not work on VMS
* COMP:Try to fix compile error with qnx gcc.Francois Bertel2009-03-161-1/+2
|
* COMP:Fixed gcc 4.3.2 warning with -O1 and above: ignoring return value of ↵Francois Bertel2009-03-161-3/+6
| | | | read'), declared with attribute warn_unused_result
* COMP:Fixed warnings.Francois Bertel2009-03-161-17/+20
|
* COMP:Fixed warnings.Francois Bertel2008-12-151-6/+8
|
* ENH: a few more haiku fixes, stop the debugger from coming up for testsBill Hoffman2008-09-221-0/+4
|
* ENH: add initial support for HAIKU OS from bug# 7425Bill Hoffman2008-09-151-1/+1
|
* BUG: Handle case when select() liesBrad King2008-08-201-7/+10
| | | | | | | According to "man select" on Linux it is possible that select() lies about data being ready on a pipe in some subtle cases. We deal with this by switching to non-blocking i/o and checking for EAGAIN. See issue #7180.
* ENH: all ctype function have the same issue: char can be signed or unsigned, ↵Mathieu Malaterre2008-05-131-1/+1
| | | | since isspace only deal with >=0 value (except EOF) one has to first cast it to unsigned char
* COMP: warning, isprint and isspace take int args.Bill Lorensen2008-05-121-1/+1
|
* STYLE: minor commentsMathieu Malaterre2008-04-021-1/+1
|
* BUG: Fix hang in Process_Kill on OS X caused by an OS bug in which a pipe ↵Brad King2008-01-101-39/+54
| | | | read end cannot be closed if the pipe write end is open, the pipe is full, and another process is blocking waiting to write. Work around the problem by killing the children before closing the pipes.
* COMP: Fix for platforms that do not have siginfo on their signal handlers.Brad King2007-06-271-2/+2
|
* BUG: Do not send both SIGSTOP and SIGKILL when killing a process. The ↵Brad King2007-05-161-5/+7
| | | | SIGSTOP seems to be able to block the SIGKILL occasionally. Also the SIGKILL is sufficient since the process table entry will still exist until it is reaped with waitpid.
* COMP: Fix code-not-reached warnings for SunCC.Brad King2007-05-031-1/+7
|
* COMP: remove warningBill Hoffman2006-12-051-1/+0
|
* ENH: fix build error on IRIXBill Hoffman2006-12-051-2/+2
|
* ENH: Changes based on patch from Ryan C. Gordon to enable process execution ↵Brad King2006-12-041-148/+367
| | | | on BeOS. There seems to be no way to implement it without polling (or threads).
* ENH: Adding tests KWSYS_C_HAS_PTRDIFF_T and KWSYS_C_HAS_SSIZE_T to help ↵Brad King2006-10-041-9/+22
| | | | ProcessUNIX.c build everywhere without warnings.
* BUG: Need to initialize to not use native pipes.Brad King2006-10-031-0/+8
|
* ENH: Added Process_SetPipeNative method to allow user code to override the ↵Brad King2006-10-031-2/+108
| | | | pipes connected to the child pipeline.
* COMP: Use SA_RESTART only if it is defined for the current platform. This ↵Brad King2006-08-011-1/+4
| | | | partially addresses bug#3556.
* ENH: Added Option_Verbatim to run whole command lines directly.Brad King2006-06-151-26/+301
|
* BUG: Do not leak global table of processes.Brad King2006-05-241-3/+9
|
* ENH: Re-enabling SIGCHLD handling implementation with a fix for Cygwin.Brad King2006-05-231-87/+323
|
* BUG: Reverting previous change until it can be fixed on Cygwin.Brad King2006-05-221-310/+80
|
* ENH: Implemented handling of SIGCHLD to detect the termination of immediate ↵Brad King2006-05-211-80/+310
| | | | children. This allows grandchildren to remain running after the children exit.
* ENH: Enabling process tree killing on Cygwin.Brad King2006-05-201-4/+7
|
* ENH: Enabled process tree killing on AIX.Brad King2006-03-081-1/+1
|
* ENH: Enabled process tree killing on the SGI.Brad King2006-03-081-1/+3
|
* ENH: Enabled process tree killing for FreeBSD and Sun.Brad King2006-03-081-10/+11
|
* ENH: Enabled process tree killing on HP-UX.Brad King2006-03-081-5/+3
|
* BUG: Do not leak ps FILE when the process starts but reading the header fails.Brad King2006-03-081-1/+4
|
* ENH: Added implementation of process tree killing that runs "ps" to traverse ↵Brad King2006-03-081-2/+43
| | | | the tree.
* BUG: When more than one command is given and one of them fails to start and ↵Brad King2005-12-311-0/+6
| | | | the rest are killed, do not forget to reap the killed children.
* STYLE: Documented reference to "man select_tut".Brad King2005-11-161-1/+3
|
* BUG: Fixed polling capability of WaitForData.Brad King2005-06-171-18/+28
|
* ENH: Removing previous debug code.Brad King2005-05-161-9/+0
|
* ENH: Adding debugging code for freebsd.Brad King2005-05-131-0/+9
|
* BUG: struct timeval uses unsigned types on at least one platform (QNX). ↵Brad King2005-05-101-8/+23
| | | | Alot of the time logic assumes a signed type. Switch to using a signed representation that is converted to the native representation only for system calls.
* COMP: Added initializer to avoid warning. It is not really needed, though.Brad King2005-05-051-1/+1
|
* BUG: Do not close stdout/stderr pipes in parent if they are shared.Brad King2005-04-211-2/+8
|
* BUG: When killing a child all the pipe read ends should be closed. This ↵Brad King2005-04-191-2/+7
| | | | will allow a child that is blocking while waiting to write to the pipe to wake up and receive the kill signal properly on cygwin.
* COMP: Adding work-around for CMake dependency scanning limitation. Any ↵Brad King2005-04-131-0/+6
| | | | configured header included by KWSYS_HEADER() in a .c or .cxx file in kwsys itself must use this hack to get dependencies.