From 0d72c7a07446b1b4f931c4df53bed8323ebb2ea8 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Mon, 23 Jan 2017 16:01:37 -0700 Subject: [PATCH] If setrlimit() fails, log the details Fixes #1354 --- lib/ts/ink_sys_control.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/ts/ink_sys_control.cc b/lib/ts/ink_sys_control.cc index 0e43228c947..a8a947ad4f5 100644 --- a/lib/ts/ink_sys_control.cc +++ b/lib/ts/ink_sys_control.cc @@ -24,6 +24,7 @@ #include "ts/ink_defs.h" #include "ts/ink_assert.h" #include "ts/ink_sys_control.h" +#include "ts/Diags.h" rlim_t ink_max_out_rlimit(int which, bool max_it, bool unlim_it) @@ -47,7 +48,10 @@ ink_max_out_rlimit(int which, bool max_it, bool unlim_it) #else rl.rlim_cur = rl.rlim_max; #endif - ink_release_assert(setrlimit(MAGIC_CAST(which), &rl) >= 0); + if (setrlimit(MAGIC_CAST(which), &rl) != 0) { + Warning("Failed to set resource limits: %s\nresource = %d, .rlim_cur = %lu, .rlim_max = %lu", strerror(errno), which, + rl.rlim_cur, rl.rlim_max); + } } } @@ -56,7 +60,10 @@ ink_max_out_rlimit(int which, bool max_it, bool unlim_it) ink_release_assert(getrlimit(MAGIC_CAST(which), &rl) >= 0); if (rl.rlim_cur != (rlim_t)RLIM_INFINITY) { rl.rlim_cur = (rl.rlim_max = RLIM_INFINITY); - ink_release_assert(setrlimit(MAGIC_CAST(which), &rl) >= 0); + if (setrlimit(MAGIC_CAST(which), &rl) != 0) { + Warning("Failed to set resource limits: %s\nresource = %d, .rlim_cur = %lu, .rlim_max = %lu", strerror(errno), which, + rl.rlim_cur, rl.rlim_max); + } } } #endif