OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [cris/] [c/] [pipe3.c] - Blame information for rev 26

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 26 jlechner
/* Check that TRT happens when error on pipe call.
2
#notarget: cris*-*-elf
3
*/
4
 
5
#include <stddef.h>
6
#include <stdio.h>
7
#include <stdlib.h>
8
#include <unistd.h>
9
#include <errno.h>
10
#include <limits.h>
11
 
12
int main (void)
13
{
14
  int i;
15
  int filemax;
16
 
17
#ifdef OPEN_MAX
18
  filemax = OPEN_MAX;
19
#else
20
  filemax = sysconf (_SC_OPEN_MAX);
21
#endif
22
 
23
  /* Check that TRT happens when error on pipe call.  */
24
  for (i = 0; i < filemax + 1; i++)
25
    {
26
      int pip[2];
27
      if (pipe (pip) != 0)
28
        {
29
          /* Shouldn't happen too early.  */
30
          if (i < filemax / 2 - 3 - 1)
31
            {
32
              fprintf (stderr, "i: %d\n", i);
33
              abort ();
34
            }
35
          if (errno != EMFILE)
36
            {
37
              perror ("pipe");
38
              abort ();
39
            }
40
          goto ok;
41
        }
42
    }
43
  abort ();
44
 
45
ok:
46
  printf ("pass\n");
47
  exit (0);
48
}

powered by: WebSVN 2.1.0

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