From f851484bf5aa0ef40eca1c34a215be5346095b2f Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sun, 13 Oct 2024 12:24:09 -0700 Subject: [PATCH] test: raise fd limit to maximum before running fdpass tests Many of these tests require more than the default fd limit on some systems, so raise the limit, if we can, to give them a better chance of being able to run. Closes #176 Signed-off-by: Alan Coopersmith --- test/fdpass.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/fdpass.c b/test/fdpass.c index cf344dae3..664fd1363 100644 --- a/test/fdpass.c +++ b/test/fdpass.c @@ -910,6 +910,16 @@ main (int argc, if (getrlimit (RLIMIT_NOFILE, &lim) < 0) g_error ("Failed to get RLIMIT_NOFILE limit: %s", g_strerror (errno)); + if ((lim.rlim_cur != RLIM_INFINITY) && (lim.rlim_cur < lim.rlim_max)) + { + /* Many test require large number of file descriptors, + * so max out what they can use */ + lim.rlim_cur = lim.rlim_max; + if (setrlimit (RLIMIT_NOFILE, &lim) < 0) + g_error ("Failed to set RLIMIT_NOFILE limit to %ld: %s", + (long) lim.rlim_cur, g_strerror (errno)); + } + if (lim.rlim_cur != RLIM_INFINITY && /* only run if we have a fairly generous margin of error * for stdout, stderr, duplicates, the D-Bus connection, etc. */ -- 2.47.3