aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Herbert Valerio Riedel <hvr@gnu.org>2016-01-31 00:09:09 +0100
committerGravatar Herbert Valerio Riedel <hvr@gnu.org>2016-01-31 00:19:53 +0100
commit364604035c60fe5c21cda2e2f37027ebadc81ebd (patch)
treefb126e1ae26337f3866930967b48bb20153a4b6a
parent2ddf4b2b7bf41f878bc7d8a1afa49126710f524c (diff)
Replace `__hscore_{set,get}rlimit` wrappers with CApiFFI
-rw-r--r--System/Posix/Resource.hsc5
-rw-r--r--cbits/HsUnix.c11
-rw-r--r--include/HsUnix.h5
3 files changed, 3 insertions, 18 deletions
diff --git a/System/Posix/Resource.hsc b/System/Posix/Resource.hsc
index 3418ecf..309d394 100644
--- a/System/Posix/Resource.hsc
+++ b/System/Posix/Resource.hsc
@@ -1,3 +1,4 @@
+{-# LANGUAGE CApiFFI #-}
#if __GLASGOW_HASKELL__ >= 709
{-# LANGUAGE Safe #-}
#else
@@ -57,10 +58,10 @@ data ResourceLimit
data {-# CTYPE "struct rlimit" #-} RLimit
-foreign import ccall unsafe "HsUnix.h __hscore_getrlimit"
+foreign import capi unsafe "HsUnix.h getrlimit"
c_getrlimit :: CInt -> Ptr RLimit -> IO CInt
-foreign import ccall unsafe "HsUnix.h __hscore_setrlimit"
+foreign import capi unsafe "HsUnix.h setrlimit"
c_setrlimit :: CInt -> Ptr RLimit -> IO CInt
getResourceLimit :: Resource -> IO ResourceLimits
diff --git a/cbits/HsUnix.c b/cbits/HsUnix.c
index 09cfc9c..55f9679 100644
--- a/cbits/HsUnix.c
+++ b/cbits/HsUnix.c
@@ -81,17 +81,6 @@ char *__hscore_mkdtemp(char *filetemplate) {
}
#endif
-
-#if !defined(irix_HOST_OS)
-int __hscore_getrlimit(int resource, struct rlimit *rlim) {
- return (getrlimit(resource, rlim));
-}
-
-int __hscore_setrlimit(int resource, struct rlimit *rlim) {
- return (setrlimit(resource, rlim));
-}
-#endif
-
#ifdef HAVE_UNSETENV
int __hsunix_unsetenv(const char *name)
{
diff --git a/include/HsUnix.h b/include/HsUnix.h
index 98990b2..093c9e3 100644
--- a/include/HsUnix.h
+++ b/include/HsUnix.h
@@ -144,11 +144,6 @@ int __hscore_mkstemps(char *filetemplate, int suffixlen);
char *__hscore_mkdtemp(char *filetemplate);
#endif
-#if !defined(irix_HOST_OS)
-int __hscore_getrlimit(int resource, struct rlimit *rlim);
-int __hscore_setrlimit(int resource, struct rlimit *rlim);
-#endif
-
int __hsunix_unsetenv(const char *name);
/* A size that will contain many path names, but not necessarily all