OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gdb-6.8/] [pre-binutils-2.20.1-sync/] [sim/] [testsuite/] [sim/] [cris/] [c/] [pipe3.c] - Diff between revs 157 and 223

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 157 Rev 223
/* Check that TRT happens when error on pipe call.
/* Check that TRT happens when error on pipe call.
#notarget: cris*-*-elf
#notarget: cris*-*-elf
*/
*/
 
 
#include <stddef.h>
#include <stddef.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <unistd.h>
#include <unistd.h>
#include <errno.h>
#include <errno.h>
#include <limits.h>
#include <limits.h>
 
 
int main (void)
int main (void)
{
{
  int i;
  int i;
  int filemax;
  int filemax;
 
 
#ifdef OPEN_MAX
#ifdef OPEN_MAX
  filemax = OPEN_MAX;
  filemax = OPEN_MAX;
#else
#else
  filemax = sysconf (_SC_OPEN_MAX);
  filemax = sysconf (_SC_OPEN_MAX);
#endif
#endif
 
 
  /* Check that TRT happens when error on pipe call.  */
  /* Check that TRT happens when error on pipe call.  */
  for (i = 0; i < filemax + 1; i++)
  for (i = 0; i < filemax + 1; i++)
    {
    {
      int pip[2];
      int pip[2];
      if (pipe (pip) != 0)
      if (pipe (pip) != 0)
        {
        {
          /* Shouldn't happen too early.  */
          /* Shouldn't happen too early.  */
          if (i < filemax / 2 - 3 - 1)
          if (i < filemax / 2 - 3 - 1)
            {
            {
              fprintf (stderr, "i: %d\n", i);
              fprintf (stderr, "i: %d\n", i);
              abort ();
              abort ();
            }
            }
          if (errno != EMFILE)
          if (errno != EMFILE)
            {
            {
              perror ("pipe");
              perror ("pipe");
              abort ();
              abort ();
            }
            }
          goto ok;
          goto ok;
        }
        }
    }
    }
  abort ();
  abort ();
 
 
ok:
ok:
  printf ("pass\n");
  printf ("pass\n");
  exit (0);
  exit (0);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.