00001
00002
00003
00004
00005 #include "ace/OS_NS_errno.h"
00006 #include "ace/OS_NS_macros.h"
00007
00008 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00009
00010 ACE_INLINE int
00011 ACE_OS::getrlimit (int resource, struct rlimit *rl)
00012 {
00013 ACE_OS_TRACE ("ACE_OS::getrlimit");
00014
00015 #if defined (ACE_LACKS_RLIMIT)
00016 ACE_UNUSED_ARG (resource);
00017 ACE_UNUSED_ARG (rl);
00018
00019 ACE_NOTSUP_RETURN (-1);
00020 #else
00021 # if defined (ACE_HAS_RLIMIT_RESOURCE_ENUM)
00022 ACE_OSCALL_RETURN (::getrlimit ((ACE_HAS_RLIMIT_RESOURCE_ENUM) resource, rl), int, -1);
00023 # else
00024 ACE_OSCALL_RETURN (::getrlimit (resource, rl), int, -1);
00025 # endif
00026 #endif
00027 }
00028
00029 ACE_INLINE int
00030 ACE_OS::getrusage (int who, struct rusage *ru)
00031 {
00032 ACE_OS_TRACE ("ACE_OS::getrusage");
00033
00034 #if defined (ACE_HAS_GETRUSAGE)
00035 # if defined (ACE_WIN32)
00036 ACE_UNUSED_ARG (who);
00037
00038 # if defined (ACE_LACKS_GETPROCESSTIMES)
00039 ACE_UNUSED_ARG (ru);
00040 ACE_NOTSUP_RETURN (-1);
00041 # else
00042 FILETIME dummy_1;
00043 FILETIME dummy_2;
00044 ACE_WIN32CALL_RETURN (ACE_ADAPT_RETVAL (::GetProcessTimes (::GetCurrentProcess(),
00045 &dummy_1,
00046 &dummy_2,
00047 &ru->ru_stime,
00048 &ru->ru_utime),
00049 ace_result_),
00050 int, -1);
00051 # endif
00052 # else
00053 # if defined (ACE_HAS_RUSAGE_WHO_ENUM)
00054 ACE_OSCALL_RETURN (::getrusage ((ACE_HAS_RUSAGE_WHO_ENUM) who, ru), int, -1);
00055 # else
00056 ACE_OSCALL_RETURN (::getrusage (who, ru), int, -1);
00057 # endif
00058 # endif
00059 #else
00060 ACE_UNUSED_ARG (who);
00061 ACE_UNUSED_ARG (ru);
00062 ACE_NOTSUP_RETURN (-1);
00063 #endif
00064 }
00065
00066 ACE_INLINE int
00067 ACE_OS::setrlimit (int resource, const struct rlimit *rl)
00068 {
00069 ACE_OS_TRACE ("ACE_OS::setrlimit");
00070
00071 #if defined (ACE_LACKS_RLIMIT)
00072 ACE_UNUSED_ARG (resource);
00073 ACE_UNUSED_ARG (rl);
00074
00075 ACE_NOTSUP_RETURN (-1);
00076 #else
00077 # if defined (ACE_HAS_RLIMIT_RESOURCE_ENUM)
00078 # if defined (ACE_HAS_NONCONST_SETRLIMIT)
00079 ACE_OSCALL_RETURN (::setrlimit ((ACE_HAS_RLIMIT_RESOURCE_ENUM) resource,
00080 const_cast<struct rlimit *>(rl)
00081 ), int, -1);
00082 # else
00083 ACE_OSCALL_RETURN (::setrlimit ((ACE_HAS_RLIMIT_RESOURCE_ENUM) resource,
00084 rl
00085 ), int, -1);
00086 # endif
00087 # else
00088 # if defined (ACE_HAS_NONCONST_SETRLIMIT)
00089 ACE_OSCALL_RETURN (::setrlimit (resource, const_cast<struct rlimit *>(rl)
00090 ), int, -1);
00091 # else
00092 ACE_OSCALL_RETURN (::setrlimit (resource, rl), int, -1);
00093 # endif
00094 # endif
00095 #endif
00096 }
00097
00098 ACE_END_VERSIONED_NAMESPACE_DECL