mailing list of musl libc
 help / color / mirror / code / Atom feed
a6097cf31169ce0182824dc592d9dd4e7e8b04fe blob 741 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
#include <sys/resource.h>
#include <errno.h>
#include "syscall.h"
#include "libc.h"

#ifdef __broken_RLIM_INFINITY
#define FIX(x) ((x) >= -1UL/2 ? RLIM_INFINITY : (x))
#else
#define FIX(x) (x)
#endif

int getrlimit(int resource, struct rlimit *rlim)
{
	unsigned long k_rlim[2];
	int ret = syscall(SYS_prlimit64, 0, resource, 0, rlim);
	rlim->rlim_cur = FIX(rlim->rlim_cur);
	rlim->rlim_max = FIX(rlim->rlim_max);
	if (!ret || errno != ENOSYS)
		return ret;
	if (syscall(SYS_getrlimit, resource, k_rlim) < 0)
		return -1;
	k_rlim[0] = FIX(k_rlim[0]);
	k_rlim[1] = FIX(k_rlim[1]);
	rlim->rlim_cur = k_rlim[0] == -1UL ? RLIM_INFINITY : k_rlim[0];
	rlim->rlim_max = k_rlim[1] == -1UL ? RLIM_INFINITY : k_rlim[1];
	return 0;
}

LFS64(getrlimit);
debug log:

solving a6097cf ...
found a6097cf in https://inbox.vuxu.org/musl/20140524081320.GH12324@port70.net/
found b7bbd06 in https://git.vuxu.org/mirror/musl/
preparing index
index prepared:
100644 b7bbd06253a55ea6e748c2d69e3d0fa6412a15ef	src/misc/getrlimit.c

applying [1/1] https://inbox.vuxu.org/musl/20140524081320.GH12324@port70.net/
diff --git a/src/misc/getrlimit.c b/src/misc/getrlimit.c
index b7bbd06..a6097cf 100644

Checking patch src/misc/getrlimit.c...
Applied patch src/misc/getrlimit.c cleanly.

index at:
100644 a6097cf31169ce0182824dc592d9dd4e7e8b04fe	src/misc/getrlimit.c

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).