* sim/cris: New directory with C and assembly tests for the CRIS
[deliverable/binutils-gdb.git] / sim / testsuite / sim / cris / c / pipe1.c
1 /* Check for proper pipe semantics at corner cases.
2 #notarget: cris*-*-elf
3 */
4
5 #include <stddef.h>
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <unistd.h>
9 #include <sched.h>
10 #include <signal.h>
11 #include <sys/types.h>
12 #include <sys/wait.h>
13 #include <limits.h>
14
15 int main (void)
16 {
17 int i;
18 int filemax;
19
20 #ifdef OPEN_MAX
21 filemax = OPEN_MAX;
22 #else
23 filemax = sysconf (_SC_OPEN_MAX);
24 #endif
25
26 if (filemax < 10)
27 abort ();
28
29 /* Check that pipes don't leak file descriptors. */
30 for (i = 0; i < filemax * 10; i++)
31 {
32 int pip[2];
33 if (pipe (pip) != 0)
34 {
35 perror ("pipe");
36 abort ();
37 }
38
39 if (close (pip[0]) != 0 || close (pip[1]) != 0)
40 {
41 perror ("close");
42 abort ();
43 }
44 }
45 printf ("pass\n");
46 exit (0);
47 }
This page took 0.030521 seconds and 4 git commands to generate.