OS_NS_sys_resource.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // $Id: OS_NS_sys_resource.inl 80826 2008-03-04 14:51:23Z wotte $
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 /* ACE_HAS_RLIMIT_RESOURCE_ENUM */
00026 #endif /* ACE_LACKS_RLIMIT */
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,   // start
00046                                                              &dummy_2,     // exited
00047                                                              &ru->ru_stime,
00048                                                              &ru->ru_utime),
00049                                           ace_result_),
00050                         int, -1);
00051 #  endif /* ACE_LACKS_WIN32_GETPROCESSTIMES */
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 /* ACE_HAS_RUSAGE_WHO_ENUM */
00058 # endif /* ACE_WIN32 */
00059 #else
00060   ACE_UNUSED_ARG (who);
00061   ACE_UNUSED_ARG (ru);
00062   ACE_NOTSUP_RETURN (-1);
00063 #endif /* ACE_HAS_GETRUSAGE */
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 /* ACE_HAS_NONCONST_SETRLIMIT */
00087 # else /* ACE_HAS_RLIMIT_RESOURCE_ENUM */
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 /* ACE_HAS_NONCONST_SETRLIMIT */
00094 # endif /* ACE_HAS_RLIMIT_RESOURCE_ENUM */
00095 #endif /* ACE_LACKS_RLIMIT */
00096 }
00097 
00098 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Tue Feb 2 17:18:41 2010 for ACE by  doxygen 1.4.7