Commit Graph

75 Commits

Author SHA1 Message Date
Brad King 07665de038 BUG: Handle case when select() lies
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.
2008-08-20 09:57:09 -04:00
Mathieu Malaterre 7499bb250d ENH: all ctype function have the same issue: char can be signed or unsigned, since isspace only deal with >=0 value (except EOF) one has to first cast it to unsigned char 2008-05-13 05:18:51 -04:00
Bill Lorensen 614b1ab358 COMP: warning, isprint and isspace take int args. 2008-05-12 12:01:09 -04:00
Mathieu Malaterre f410daffec STYLE: minor comments 2008-04-02 08:36:51 -04:00
Brad King 1c2ffbb5bc BUG: Fix hang in Process_Kill on OS X caused by an OS bug in which a pipe 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. 2008-01-10 18:32:38 -05:00
Brad King 9dec9a0c3b COMP: Fix for platforms that do not have siginfo on their signal handlers. 2007-06-27 11:39:16 -04:00
Brad King 01c7db07c3 BUG: Do not send both SIGSTOP and SIGKILL when killing a process. The 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. 2007-05-16 13:10:45 -04:00
Brad King aa4d7847ee COMP: Fix code-not-reached warnings for SunCC. 2007-05-03 13:03:13 -04:00
Bill Hoffman 6b7bf34341 COMP: remove warning 2006-12-05 09:02:32 -05:00
Bill Hoffman 1513773310 ENH: fix build error on IRIX 2006-12-05 08:39:22 -05:00
Brad King de8ffcaef4 ENH: Changes based on patch from Ryan C. Gordon to enable process execution on BeOS. There seems to be no way to implement it without polling (or threads). 2006-12-04 14:42:47 -05:00
Brad King 40adb2ce03 ENH: Adding tests KWSYS_C_HAS_PTRDIFF_T and KWSYS_C_HAS_SSIZE_T to help ProcessUNIX.c build everywhere without warnings. 2006-10-04 17:27:17 -04:00
Brad King 48ee381e6b BUG: Need to initialize to not use native pipes. 2006-10-03 10:26:32 -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 9b2b2b5f1b COMP: Use SA_RESTART only if it is defined for the current platform. This partially addresses bug#3556. 2006-08-01 14:28:03 -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 9b74e597be BUG: Do not leak global table of processes. 2006-05-24 10:13:18 -04:00
Brad King 35334d01cd ENH: Re-enabling SIGCHLD handling implementation with a fix for Cygwin. 2006-05-23 11:48:15 -04:00
Brad King 29b75dda97 BUG: Reverting previous change until it can be fixed on Cygwin. 2006-05-22 15:11:42 -04:00
Brad King 0d594a4538 ENH: Implemented handling of SIGCHLD to detect the termination of immediate children. This allows grandchildren to remain running after the children exit. 2006-05-21 10:26:28 -04:00
Brad King 3dd70af5a0 ENH: Enabling process tree killing on Cygwin. 2006-05-20 18:50:27 -04:00
Brad King bde71e9668 ENH: Enabled process tree killing on AIX. 2006-03-08 13:06:46 -05:00
Brad King 6fb7bac013 ENH: Enabled process tree killing on the SGI. 2006-03-08 12:42:59 -05:00
Brad King 95f86d5d6f ENH: Enabled process tree killing for FreeBSD and Sun. 2006-03-08 12:36:14 -05:00
Brad King 17d79233ff ENH: Enabled process tree killing on HP-UX. 2006-03-08 12:12:37 -05:00
Brad King c31c18bb9c BUG: Do not leak ps FILE when the process starts but reading the header fails. 2006-03-08 11:57:41 -05:00
Brad King 3c39accee9 ENH: Added implementation of process tree killing that runs "ps" to traverse the tree. 2006-03-08 11:38:51 -05:00
Brad King 8489a94101 BUG: When more than one command is given and one of them fails to start and the rest are killed, do not forget to reap the killed children. 2005-12-31 12:59:31 -05:00
Brad King e3876623f6 STYLE: Documented reference to "man select_tut". 2005-11-16 11:39:43 -05:00
Brad King 9fd4560ba2 BUG: Fixed polling capability of WaitForData. 2005-06-17 13:57:27 -04:00
Brad King 26f82b064c ENH: Removing previous debug code. 2005-05-16 13:42:23 -04:00
Brad King b45071cc60 ENH: Adding debugging code for freebsd. 2005-05-13 14:44:20 -04:00
Brad King a4aefb4faa BUG: struct timeval uses unsigned types on at least one platform (QNX). 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. 2005-05-10 16:36:49 -04:00
Brad King 3336b74c01 COMP: Added initializer to avoid warning. It is not really needed, though. 2005-05-05 09:05:15 -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 c98bd6249a BUG: When killing a child all the pipe read ends should be closed. This 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. 2005-04-19 11:52:25 -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
Andy Cedilnik 588653c4e8 COMP: Remove warnings about shadow variables 2005-02-27 17:36:00 -05:00
Brad King 5701282e98 ERR: Fixed missing return warning. Code was not reachable anyway. 2004-07-09 11:49:04 -04:00
Brad King 55c1c3b33f BUG: Do not disown if process has already been killed or the timeout expired. Also need to call kwsysProcessCleanup to disown. 2004-07-07 17:46:34 -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 6df06682a5 ERR: Using KWSYSPE_PIPE_BUFFER_SIZE in place of separate bufferSize constant for consistency. 2004-07-07 13:03:56 -04:00
Bill Hoffman bbc9e4a9dc no c++ comments in c 2004-07-04 00:05:04 -04:00
Bill Hoffman 4772d6b649 fix for hp build 2004-07-03 12:00:41 -04:00
Brad King e6145d6878 BUG#392: Implementation of process tree killing for systems with /proc filesystem. 2004-07-02 16:39:29 -04:00
Brad King aeea4895a5 ERR: SIGSEGV == SIGBUS on BeOS. 2004-03-12 14:43:32 -05:00
Brad King 9651c9d996 ERR: Fixed function prototypes with zero arguments to be C-style. 2004-01-22 14:44:44 -05:00
Andy Cedilnik 9cf5bb4bb0 BUG: If working directory does not exists, exit 2004-01-22 11:16:43 -05:00
Andy Cedilnik d609e037b9 BUG: Fix valgrind error. If working directory is not set do not do chdir 2004-01-21 13:38:09 -05:00