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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [cris/] [c/] [openpf5.c] - Diff between revs 24 and 157

Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 157
/* Check that TRT happens when error on too many opened files.
/* Check that TRT happens when error on too many opened files.
#notarget: cris*-*-elf
#notarget: cris*-*-elf
#sim: --sysroot=@exedir@
#sim: --sysroot=@exedir@
*/
*/
#include <stddef.h>
#include <stddef.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
#include <unistd.h>
#include <unistd.h>
#include <errno.h>
#include <errno.h>
#include <limits.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <fcntl.h>
#include <string.h>
#include <string.h>
 
 
int main (int argc, char *argv[])
int main (int argc, char *argv[])
{
{
  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
 
 
  char *fn = malloc (strlen (argv[0]) + 2);
  char *fn = malloc (strlen (argv[0]) + 2);
  if (fn == NULL)
  if (fn == NULL)
    abort ();
    abort ();
  strcpy (fn, "/");
  strcpy (fn, "/");
  strcat (fn, argv[0]);
  strcat (fn, argv[0]);
 
 
  for (i = 0; i < filemax + 1; i++)
  for (i = 0; i < filemax + 1; i++)
    {
    {
      if (open (fn, O_RDONLY) < 0)
      if (open (fn, O_RDONLY) < 0)
        {
        {
          /* Shouldn't happen too early.  */
          /* Shouldn't happen too early.  */
          if (i < filemax - 3 - 1)
          if (i < filemax - 3 - 1)
            {
            {
              fprintf (stderr, "i: %d\n", i);
              fprintf (stderr, "i: %d\n", i);
              abort ();
              abort ();
            }
            }
          if (errno != EMFILE)
          if (errno != EMFILE)
            {
            {
              perror ("open");
              perror ("open");
              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.