mailing list of musl libc
 help / color / mirror / code / Atom feed
12a9ba9df66e3efddfa60fa4f1ecadbd6a5ba9b8 blob 836 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
30
31
32
 
#define _GNU_SOURCE
#include <sys/resource.h>
#include "syscall.h"
#include "libc.h"

#ifdef __broken_RLIM_INFINITY
#define FIX(x) ((x) >= -1UL/2 ? RLIM_INFINITY : (x))
int prlimit(pid_t pid, int resource, const struct rlimit *new_limit, struct rlimit *old_limit)
{
	struct rlimit tmp;
	int r;
	if (new_limit) {
		tmp.rlim_cur = FIX(new_limit->rlim_cur);
		tmp.rlim_max = FIX(new_limit->rlim_max);
		new_limit = &tmp;
	}
	r = syscall(SYS_prlimit64, pid, resource, new_limit, old_limit);
	if (old_limit) {
		old_limit->rlim_cur = FIX(old_limit->rlim_cur);
		old_limit->rlim_max = FIX(old_limit->rlim_max);
	}
	return r;
}
#else
int prlimit(pid_t pid, int resource, const struct rlimit *new_limit, struct rlimit *old_limit)
{
	return syscall(SYS_prlimit64, pid, resource, new_limit, old_limit);
}
#endif

#undef prlimit64
LFS64(prlimit);
debug log:

solving 12a9ba9 ...
found 12a9ba9 in https://inbox.vuxu.org/musl/20140524081320.GH12324@port70.net/
found d1639cc in https://git.vuxu.org/mirror/musl/
preparing index
index prepared:
100644 d1639ccaf1c0cbeb742e7d214ee9f6e256d48335	src/linux/prlimit.c

applying [1/1] https://inbox.vuxu.org/musl/20140524081320.GH12324@port70.net/
diff --git a/src/linux/prlimit.c b/src/linux/prlimit.c
index d1639cc..12a9ba9 100644

Checking patch src/linux/prlimit.c...
Applied patch src/linux/prlimit.c cleanly.

index at:
100644 12a9ba9df66e3efddfa60fa4f1ecadbd6a5ba9b8	src/linux/prlimit.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).