1 /* $Id: datalimit.c,v 1.5 2007/08/24 18:17:31 fabio Exp fabio $ */
3 #ifndef HAVE_SYS_RESOURCE_H
4 #define HAVE_SYS_RESOURCE_H 1
6 #ifndef HAVE_SYS_TIME_H
7 #define HAVE_SYS_TIME_H 1
10 #define HAVE_GETRLIMIT 1
13 #if HAVE_SYS_RESOURCE_H == 1
14 #if HAVE_SYS_TIME_H == 1
17 #include <sys/resource.h>
20 #ifndef RLIMIT_DATA_DEFAULT
21 #define RLIMIT_DATA_DEFAULT 67108864 /* assume 64MB by default */
26 # define EXTERN extern "C"
28 # define EXTERN extern
32 EXTERN
unsigned long getSoftDataLimit(void);
35 getSoftDataLimit(void)
37 #if HAVE_SYS_RESOURCE_H == 1 && HAVE_GETRLIMIT == 1 && defined(RLIMIT_DATA)
41 result
= getrlimit(RLIMIT_DATA
, &rl
);
42 if (result
!= 0 || rl
.rlim_cur
== RLIM_INFINITY
)
43 return((unsigned long) RLIMIT_DATA_DEFAULT
);
45 return((unsigned long) rl
.rlim_cur
);
47 return((unsigned long) RLIMIT_DATA_DEFAULT
);
50 } /* end of getSoftDataLimit */