|
@@ -3,7 +3,7 @@
|
|
|
* Syscalls for uClibc
|
|
|
*
|
|
|
* Copyright (C) 2000 by Lineo, inc
|
|
|
- * Copyright (C) 2001 by Erik Andersen
|
|
|
+ * Copyright (C) 2001, 2002 by Erik Andersen
|
|
|
* Written by Erik Andersen <andersen@codpoet.org>
|
|
|
*
|
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
@@ -572,18 +572,20 @@ _syscall2(int, sethostname, const char *, name, size_t, len);
|
|
|
#define __NR___setrlimit __NR_setrlimit
|
|
|
#include <unistd.h>
|
|
|
#include <sys/resource.h>
|
|
|
+#define RMIN(x, y) ((x) < (y) ? (x) : (y))
|
|
|
_syscall2(int, __setrlimit, int, resource, const struct rlimit *, rlim);
|
|
|
-int setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
|
|
|
+int setrlimit (__rlimit_resource_t resource, const struct rlimit *rlimits)
|
|
|
{
|
|
|
struct rlimit rlimits_small;
|
|
|
|
|
|
* were signed the new values might be too large. */
|
|
|
- rlimits_small.rlim_cur = MIN ((unsigned long int) rlimits->rlim_cur,
|
|
|
- RLIM_INFINITY >> 1);
|
|
|
- rlimits_small.rlim_max = MIN ((unsigned long int) rlimits->rlim_max,
|
|
|
- RLIM_INFINITY >> 1);
|
|
|
+ rlimits_small.rlim_cur = RMIN ((unsigned long int) rlimits->rlim_cur,
|
|
|
+ RLIM_INFINITY >> 1);
|
|
|
+ rlimits_small.rlim_max = RMIN ((unsigned long int) rlimits->rlim_max,
|
|
|
+ RLIM_INFINITY >> 1);
|
|
|
return(__setrlimit(resource, &rlimits_small));
|
|
|
}
|
|
|
+#undef RMIN
|
|
|
#endif
|
|
|
#else
|
|
|
#ifdef L_setrlimit
|
|
@@ -601,10 +603,10 @@ _syscall2(int, setrlimit, int, resource, const struct rlimit *, rlim);
|
|
|
#include <unistd.h>
|
|
|
#include <sys/resource.h>
|
|
|
_syscall2(int, __getrlimit, int, resource, struct rlimit *, rlim);
|
|
|
-int getrlimit (enum __rlimit_resource resource, struct rlimit *rlim)
|
|
|
+int getrlimit (__rlimit_resource_t resource, struct rlimit *rlimits)
|
|
|
{
|
|
|
int result;
|
|
|
- result = __getrlimit(resource, rlim);
|
|
|
+ result = __getrlimit(resource, rlimits);
|
|
|
|
|
|
if (result == -1)
|
|
|
return result;
|
|
@@ -1446,6 +1448,7 @@ _syscall4(ssize_t,sendfile, int, out_fd, int, in_fd, __off_t *, offset, size_t,
|
|
|
|
|
|
|
|
|
#ifdef L___ugetrlimit
|
|
|
+#ifdef __NR_ugetrlimit
|
|
|
#define __NR___ugetrlimit __NR_ugetrlimit
|
|
|
#include <unistd.h>
|
|
|
#include <sys/resource.h>
|
|
@@ -1454,8 +1457,10 @@ int getrlimit (__rlimit_resource_t resource, struct rlimit *rlimits)
|
|
|
{
|
|
|
return(__ugetrlimit(resource, rlimits));
|
|
|
}
|
|
|
+#endif
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|