diff options
Diffstat (limited to 'ace/os_include/sys/os_resource.h')
-rw-r--r-- | ace/os_include/sys/os_resource.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ace/os_include/sys/os_resource.h b/ace/os_include/sys/os_resource.h index 1aa55705ffe..8245d5bf92e 100644 --- a/ace/os_include/sys/os_resource.h +++ b/ace/os_include/sys/os_resource.h @@ -37,6 +37,17 @@ extern "C" { #endif /* __cplusplus */ +// There must be a better way to do this... +#if !defined (RLIMIT_NOFILE) +# if defined (linux) || defined (AIX) || defined (SCO) +# if defined (RLIMIT_OFILE) +# define RLIMIT_NOFILE RLIMIT_OFILE +# else +# define RLIMIT_NOFILE 200 +# endif /* RLIMIT_OFILE */ +# endif /* defined (linux) || defined (AIX) || defined (SCO) */ +#endif /* RLIMIT_NOFILE */ + #if defined (ACE_HAS_BROKEN_SETRLIMIT) typedef struct rlimit ACE_SETRLIMIT_TYPE; #else @@ -52,8 +63,37 @@ extern "C" FILETIME ru_utime; FILETIME ru_stime; }; +#else /* !ACE_WIN32 */ +# if defined (m88k) +# define RUSAGE_SELF 1 +# endif /* m88k */ #endif /* ACE_WIN32 */ +#if defined (ACE_LACKS_RLIMIT_PROTOTYPE) + int getrlimit (int resource, struct rlimit *rlp); + int setrlimit (int resource, const struct rlimit *rlp); +#endif /* ACE_LACKS_RLIMIT_PROTOTYPE */ + +#if defined (ACE_HAS_PRUSAGE_T) + typedef prusage_t ACE_Rusage; +#elif defined (ACE_HAS_GETRUSAGE) + typedef rusage ACE_Rusage; +#else + typedef int ACE_Rusage; +#endif /* ACE_HAS_PRUSAGE_T */ + +#if !defined (ACE_WIN32) +// These prototypes are chronically lacking from many versions of +// UNIX. +# if !defined (ACE_HAS_GETRUSAGE_PROTO) + int getrusage (int who, struct rusage *rusage); +# endif /* ! ACE_HAS_GETRUSAGE_PROTO */ + +# if defined (ACE_LACKS_SYSCALL) + int syscall (int, ACE_HANDLE, struct rusage *); +# endif /* ACE_LACKS_SYSCALL */ +#endif /* !ACE_WIN32 */ + #ifdef __cplusplus } #endif /* __cplusplus */ |