mirror of git://git.musl-libc.org/musl
fix getrlimit handling on 32-bit systems, and ease porting to 64-bit
This commit is contained in:
parent
13a026bd79
commit
f7eb91e795
|
@ -500,6 +500,8 @@ static inline long syscall6(long n, long a1, long a2, long a3, long a4, long a5,
|
||||||
#define __NR_fstatat __NR_fstatat64
|
#define __NR_fstatat __NR_fstatat64
|
||||||
#define __NR_pread __NR_pread64
|
#define __NR_pread __NR_pread64
|
||||||
#define __NR_pwrite __NR_pwrite64
|
#define __NR_pwrite __NR_pwrite64
|
||||||
|
#undef __NR_getrlimit
|
||||||
|
#define __NR_getrlimit __NR_ugetrlimit
|
||||||
|
|
||||||
#define __SC_socket 1
|
#define __SC_socket 1
|
||||||
#define __SC_bind 2
|
#define __SC_bind 2
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
int getrlimit(int resource, struct rlimit *rlim)
|
int getrlimit(int resource, struct rlimit *rlim)
|
||||||
{
|
{
|
||||||
long k_rlim[2];
|
long k_rlim[2];
|
||||||
if (syscall2(__NR_ugetrlimit, resource, (long)k_rlim) < 0)
|
if (syscall2(__NR_getrlimit, resource, (long)k_rlim) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
rlim->rlim_cur = k_rlim[0];
|
rlim->rlim_cur = k_rlim[0] == -1 ? -1 : (unsigned long)k_rlim[0];
|
||||||
rlim->rlim_max = k_rlim[1];
|
rlim->rlim_max = k_rlim[1] == -1 ? -1 : (unsigned long)k_rlim[1];
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue