From 1b4879d8601d0b553e861b7707237bafb903fe9d Mon Sep 17 00:00:00 2001 From: wolfgang Date: Mon, 12 May 2003 13:19:49 +0000 Subject: [project @ 2003-05-12 13:19:49 by wolfgang] Add #ifdefs for RLIMIT_AS and RLIM_SAVED_*, which are not defined on Mac OS X. --- System/Posix/Resource.hsc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'System') diff --git a/System/Posix/Resource.hsc b/System/Posix/Resource.hsc index 0547436..58b2bfd 100644 --- a/System/Posix/Resource.hsc +++ b/System/Posix/Resource.hsc @@ -36,7 +36,9 @@ data Resource | ResourceFileSize | ResourceOpenFiles | ResourceStackSize +#ifdef RLIMIT_AS | ResourceTotalMemory +#endif deriving Eq data ResourceLimits @@ -85,18 +87,24 @@ packResource ResourceDataSize = (#const RLIMIT_DATA) packResource ResourceFileSize = (#const RLIMIT_FSIZE) packResource ResourceOpenFiles = (#const RLIMIT_NOFILE) packResource ResourceStackSize = (#const RLIMIT_STACK) +#ifdef RLIMIT_AS packResource ResourceTotalMemory = (#const RLIMIT_AS) +#endif unpackRLimit :: CRLim -> ResourceLimit unpackRLimit (#const RLIM_INFINITY) = ResourceLimitInfinity +#ifdef RLIM_SAVED_MAX unpackRLimit (#const RLIM_SAVED_MAX) = ResourceLimitUnknown unpackRLimit (#const RLIM_SAVED_CUR) = ResourceLimitUnknown +#endif unpackRLimit other = ResourceLimit (fromIntegral other) packRLimit :: ResourceLimit -> Bool -> CRLim packRLimit ResourceLimitInfinity _ = (#const RLIM_INFINITY) +#ifdef RLIM_SAVED_MAX packRLimit ResourceLimitUnknown True = (#const RLIM_SAVED_CUR) packRLimit ResourceLimitUnknown False = (#const RLIM_SAVED_MAX) +#endif packRLimit (ResourceLimit other) _ = fromIntegral other @@ -125,8 +133,11 @@ showAll = allResources = [ResourceCoreFileSize, ResourceCPUTime, ResourceDataSize, - ResourceFileSize, ResourceOpenFiles, ResourceStackSize, - ResourceTotalMemory ] + ResourceFileSize, ResourceOpenFiles, ResourceStackSize +#ifdef RLIMIT_AS + , ResourceTotalMemory +#endif + ] showRLims ResourceLimits{hardLimit=h,softLimit=s} = "hard: " ++ showRLim h ++ ", soft: " ++ showRLim s -- cgit v1.2.3