2002-09-30 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@gnu.org>
Mon, 30 Sep 2002 07:19:21 +0000 (07:19 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 30 Sep 2002 07:19:21 +0000 (07:19 +0000)
* rt/tst-aio7.c (do_test): Don't read from stdin, which could be the
terminal when the test is running in a background job.  Instead, make
a pipe and read from its read half while never writing anything to it.

rt/tst-aio7.c

index ecb45cb..b4903c7 100644 (file)
@@ -34,6 +34,14 @@ static int
 do_test (void)
 {
   int result = 0;
+  int piped[2];
+
+  /* Make a pipe that we will never write to, so we can block reading it.  */
+  if (pipe (piped) < 0)
+    {
+      perror ("pipe");
+      return 1;
+    }
 
   /* Test for aio_cancel() detecting invalid file descriptor.  */
   {
@@ -146,9 +154,8 @@ do_test (void)
     printf ("\n");
 
     /* At this point, the first read is completed, so start another one on
-     * stdin, which will not complete unless the user inputs something.
-     */
-    cb1.aio_fildes = 0;
+       the read half of a pipe on which nothing will be written.  */
+    cb1.aio_fildes = piped[0];
     cb1.aio_offset = 0;
     cb1.aio_buf = buff;
     cb1.aio_nbytes = BYTES;