diff options
author | Stefan O'Rear <sorear@fastmail.com> | 2020-09-03 03:31:05 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2022-05-01 23:25:21 -0400 |
commit | 41149ea8c7a6f28a1c60478fe7f6b9552aa39e3b (patch) | |
tree | f9fe8f74a892ce6b5b77ba8eb3e704da8ed703e5 /src/misc/getrlimit.c | |
parent | 8910efd0e474fab85bf00657a6eeae4d69a87f63 (diff) | |
download | musl-41149ea8c7a6f28a1c60478fe7f6b9552aa39e3b.tar.gz |
only use getrlimit/setrlimit syscalls if they exist
riscv32 and future architectures only provide prlimit64.
Diffstat (limited to 'src/misc/getrlimit.c')
-rw-r--r-- | src/misc/getrlimit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/misc/getrlimit.c b/src/misc/getrlimit.c index 2ab2f0f4..bf676307 100644 --- a/src/misc/getrlimit.c +++ b/src/misc/getrlimit.c @@ -6,12 +6,13 @@ int getrlimit(int resource, struct rlimit *rlim) { - unsigned long k_rlim[2]; int ret = syscall(SYS_prlimit64, 0, resource, 0, rlim); if (!ret) { FIX(rlim->rlim_cur); FIX(rlim->rlim_max); } +#ifdef SYS_getrlimit + unsigned long k_rlim[2]; if (!ret || errno != ENOSYS) return ret; if (syscall(SYS_getrlimit, resource, k_rlim) < 0) @@ -21,6 +22,9 @@ int getrlimit(int resource, struct rlimit *rlim) FIX(rlim->rlim_cur); FIX(rlim->rlim_max); return 0; +#else + return ret; +#endif } weak_alias(getrlimit, getrlimit64); |