aboutsummaryrefslogtreecommitdiffhomepage
path: root/System
diff options
context:
space:
mode:
authorGravatar wolfgang <unknown>2003-05-12 13:19:49 +0000
committerGravatar wolfgang <unknown>2003-05-12 13:19:49 +0000
commit1b4879d8601d0b553e861b7707237bafb903fe9d (patch)
tree22e5488068346b8472dc40915fe9717e6e9a76e8 /System
parent7bb7bf57a64e842aaad4844913023e77b1d109a7 (diff)
[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.
Diffstat (limited to 'System')
-rw-r--r--System/Posix/Resource.hsc15
1 files changed, 13 insertions, 2 deletions
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