Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: fusl/src/misc/getrlimit.c

Issue 1716893002: [fusl] Remove LFS64 macro (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: apptest rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fusl/src/linux/sendfile.c ('k') | fusl/src/misc/lockf.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #include <sys/resource.h> 1 #include <sys/resource.h>
2 #include <errno.h> 2 #include <errno.h>
3 #include "syscall.h" 3 #include "syscall.h"
4 #include "libc.h" 4 #include "libc.h"
5 5
6 #define FIX(x) \ 6 #define FIX(x) \
7 do { \ 7 do { \
8 if ((x) >= SYSCALL_RLIM_INFINITY) \ 8 if ((x) >= SYSCALL_RLIM_INFINITY) \
9 (x) = RLIM_INFINITY; \ 9 (x) = RLIM_INFINITY; \
10 } while (0) 10 } while (0)
11 11
12 int getrlimit(int resource, struct rlimit* rlim) { 12 int getrlimit(int resource, struct rlimit* rlim) {
13 unsigned long k_rlim[2]; 13 unsigned long k_rlim[2];
14 int ret = syscall(SYS_prlimit64, 0, resource, 0, rlim); 14 int ret = syscall(SYS_prlimit64, 0, resource, 0, rlim);
15 if (!ret) { 15 if (!ret) {
16 FIX(rlim->rlim_cur); 16 FIX(rlim->rlim_cur);
17 FIX(rlim->rlim_max); 17 FIX(rlim->rlim_max);
18 } 18 }
19 if (!ret || errno != ENOSYS) 19 if (!ret || errno != ENOSYS)
20 return ret; 20 return ret;
21 if (syscall(SYS_getrlimit, resource, k_rlim) < 0) 21 if (syscall(SYS_getrlimit, resource, k_rlim) < 0)
22 return -1; 22 return -1;
23 rlim->rlim_cur = k_rlim[0] == -1UL ? RLIM_INFINITY : k_rlim[0]; 23 rlim->rlim_cur = k_rlim[0] == -1UL ? RLIM_INFINITY : k_rlim[0];
24 rlim->rlim_max = k_rlim[1] == -1UL ? RLIM_INFINITY : k_rlim[1]; 24 rlim->rlim_max = k_rlim[1] == -1UL ? RLIM_INFINITY : k_rlim[1];
25 FIX(rlim->rlim_cur); 25 FIX(rlim->rlim_cur);
26 FIX(rlim->rlim_max); 26 FIX(rlim->rlim_max);
27 return 0; 27 return 0;
28 } 28 }
29
30 LFS64(getrlimit);
OLDNEW
« no previous file with comments | « fusl/src/linux/sendfile.c ('k') | fusl/src/misc/lockf.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698