New module 'unicase/u8-casecmp'.
[pspp] / lib / pipe.h
index ddffb55ecc185a6b7409ec99a36fc4b74433adfc..d76e874f3be3959f984e2899f6b2a8b0c92224a7 100644 (file)
@@ -1,11 +1,11 @@
 /* Creation of subprocesses, communicating via pipes.
-   Copyright (C) 2001-2003 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2006, 2008 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
-   This program is free software; you can redistribute it and/or modify
+   This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _PIPE_H
 #define _PIPE_H
 
 /* Get pid_t.  */
 #include <stdlib.h>
-#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#endif
 #include <sys/types.h>
 
 #include <stdbool.h>
@@ -81,6 +78,8 @@ extern "C" {
  *           write       system                read
  *    parent  ->   fd[0]   ->   STDIN_FILENO    ->   child
  *
+ * Note: When writing to a child process, it is useful to ignore the SIGPIPE
+ * signal and the EPIPE error code.
  */
 extern pid_t create_pipe_out (const char *progname,
                              const char *prog_path, char **prog_argv,
@@ -108,6 +107,8 @@ extern pid_t create_pipe_in (const char *progname,
  *    parent  <-   fd[0]   <-   STDOUT_FILENO   <-   child
  *           read        system                write
  *
+ * Note: When writing to a child process, it is useful to ignore the SIGPIPE
+ * signal and the EPIPE error code.
  */
 extern pid_t create_pipe_bidi (const char *progname,
                               const char *prog_path, char **prog_argv,