aboutsummaryrefslogtreecommitdiff
path: root/manual/examples/pipe.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-01 16:09:12 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-01 16:09:12 +0000
commita7123f0edfea20a68e64e447dc6ca0c32736be0e (patch)
tree4c9b8434f534faa5a8330f250c8ec296a123818c /manual/examples/pipe.c
parent9133b79b4fae126bbcd95dad6f2cac68329c8ff3 (diff)
downloadglibc-a7123f0edfea20a68e64e447dc6ca0c32736be0e.tar
glibc-a7123f0edfea20a68e64e447dc6ca0c32736be0e.tar.gz
glibc-a7123f0edfea20a68e64e447dc6ca0c32736be0e.tar.bz2
glibc-a7123f0edfea20a68e64e447dc6ca0c32736be0e.zip
Update.
1999-10-01 Andreas Jaeger <aj@suse.de> * locale/programs/ld-collate.c (insert_value): Add cast to avoid warning. * intl/finddomain.c (_nl_find_domain): Likewise. 1999-09-30 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/alpha/ioperm.c: Disable debug messages. 1999-09-30 Andreas Jaeger <aj@suse.de> * sysdeps/i386/lshift.S: Correct assembler commands to fix warnings. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/strchrnul.S: Likewise. * sysdeps/i386/strchr.S: Likewise. Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>, PR libc/1339. 1999-09-30 Andreas Jaeger <aj@suse.de> * manual/examples/pipe.c: Close other end of pipe to make example work. 1999-10-01 Ulrich Drepper <drepper@cygnus.com> * timezone/checktab.awk: Update from tzcode1999g. * timezone/tzselect.ksh: Likewise. * timezone/africa: Update from tzdata1999g. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/iso3166.tab: Likewise. * timezone/zone.tab: Likewise. been renamed to getipnodebyname. Move flags around.
Diffstat (limited to 'manual/examples/pipe.c')
-rw-r--r--manual/examples/pipe.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/manual/examples/pipe.c b/manual/examples/pipe.c
index 054550fec6..92d339a7b9 100644
--- a/manual/examples/pipe.c
+++ b/manual/examples/pipe.c
@@ -5,7 +5,7 @@
/* Read characters from the pipe and echo them to @code{stdout}. */
-void
+void
read_from_pipe (int file)
{
FILE *stream;
@@ -18,7 +18,7 @@ read_from_pipe (int file)
/* Write some random text to the pipe. */
-void
+void
write_to_pipe (int file)
{
FILE *stream;
@@ -35,7 +35,7 @@ main (void)
int mypipe[2];
/*@group*/
- /* Create the pipe. */
+ /* Create the pipe. */
if (pipe (mypipe))
{
fprintf (stderr, "Pipe failed.\n");
@@ -43,23 +43,27 @@ main (void)
}
/*@end group*/
- /* Create the child process. */
+ /* Create the child process. */
pid = fork ();
if (pid == (pid_t) 0)
{
- /* This is the child process. */
+ /* This is the child process.
+ Close other end first. */
+ close (mypipe[1]);
read_from_pipe (mypipe[0]);
return EXIT_SUCCESS;
}
else if (pid < (pid_t) 0)
{
- /* The fork failed. */
+ /* The fork failed. */
fprintf (stderr, "Fork failed.\n");
return EXIT_FAILURE;
}
else
{
- /* This is the parent process. */
+ /* This is the parent process.
+ Close other end first. */
+ close (mypipe[0]);
write_to_pipe (mypipe[1]);
return EXIT_SUCCESS;
}