aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/lib518.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libtest/lib518.c')
-rw-r--r--tests/libtest/lib518.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/libtest/lib518.c b/tests/libtest/lib518.c
index 3b83ae378..22680688b 100644
--- a/tests/libtest/lib518.c
+++ b/tests/libtest/lib518.c
@@ -153,12 +153,27 @@ static int rlimit(int keep_open)
if (rl.rlim_cur != rl.rlim_max) {
+#ifdef OPEN_MAX
+ if ((rl.rlim_cur > 0) &&
+ (rl.rlim_cur < OPEN_MAX)) {
+ fprintf(stderr, "raising soft limit up to OPEN_MAX\n");
+ rl.rlim_cur = OPEN_MAX;
+ if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
+ /* on failure don't abort just issue a warning */
+ store_errmsg("setrlimit() failed", ERRNO);
+ fprintf(stderr, "%s\n", msgbuff);
+ msgbuff[0] = '\0';
+ }
+ }
+#endif
+
fprintf(stderr, "raising soft limit up to hard limit\n");
rl.rlim_cur = rl.rlim_max;
if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
+ /* on failure don't abort just issue a warning */
store_errmsg("setrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
- return -2;
+ msgbuff[0] = '\0';
}
/* get current open file limits */