SVF
datalimit.c
Go to the documentation of this file.
1 /* $Id: datalimit.c,v 1.5 2007/08/24 18:17:31 fabio Exp fabio $ */
2 
3 #ifndef HAVE_SYS_RESOURCE_H
4 #define HAVE_SYS_RESOURCE_H 1
5 #endif
6 #ifndef HAVE_SYS_TIME_H
7 #define HAVE_SYS_TIME_H 1
8 #endif
9 #ifndef HAVE_GETRLIMIT
10 #define HAVE_GETRLIMIT 1
11 #endif
12 
13 #if HAVE_SYS_RESOURCE_H == 1
14 #if HAVE_SYS_TIME_H == 1
15 #include <sys/time.h>
16 #endif
17 #include <sys/resource.h>
18 #endif
19 
20 #ifndef RLIMIT_DATA_DEFAULT
21 #define RLIMIT_DATA_DEFAULT 67108864 /* assume 64MB by default */
22 #endif
23 
24 #ifndef EXTERN
25 # ifdef __cplusplus
26 # define EXTERN extern "C"
27 # else
28 # define EXTERN extern
29 # endif
30 #endif
31 
32 EXTERN unsigned long getSoftDataLimit(void);
33 
34 unsigned long
36 {
37 #if HAVE_SYS_RESOURCE_H == 1 && HAVE_GETRLIMIT == 1 && defined(RLIMIT_DATA)
38  struct rlimit rl;
39  int result;
40 
41  result = getrlimit(RLIMIT_DATA, &rl);
42  if (result != 0 || rl.rlim_cur == RLIM_INFINITY)
43  return((unsigned long) RLIMIT_DATA_DEFAULT);
44  else
45  return((unsigned long) rl.rlim_cur);
46 #else
47  return((unsigned long) RLIMIT_DATA_DEFAULT);
48 #endif
49 
50 } /* end of getSoftDataLimit */
#define EXTERN
Definition: datalimit.c:28
EXTERN unsigned long getSoftDataLimit(void)
Definition: datalimit.c:35
static int result
Definition: cuddGenetic.c:121
#define RLIMIT_DATA_DEFAULT
Definition: datalimit.c:21