From 65a7814b2dbc10ea86610092f03d0c1df95d08ad Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 23 May 2024 14:28:02 -0400 Subject: opt: Don't raise RLIMIT_NOFILE if it would prevent using posix_spawn() If we raise RLIMIT_NOFILE, we have to lower it before calling exec() for compatibility with select(). If posix_spawn() doesn't support that, we fall back to fork(), which is quite a bit slower. Therefore, if we're going to exec() on most files, it's better to keep RLIMIT_NOFILE the same to avoid the fork() cost, even though it makes bftw() somewhat slower. --- src/ctx.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/ctx.c') diff --git a/src/ctx.c b/src/ctx.c index 71fef98..fac501a 100644 --- a/src/ctx.c +++ b/src/ctx.c @@ -56,6 +56,7 @@ struct bfs_ctx *bfs_ctx_new(void) { goto fail; } ctx->cur_nofile = ctx->orig_nofile; + ctx->raise_nofile = true; ctx->users = bfs_users_new(); if (!ctx->users) { -- cgit v1.2.3