]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib, ospfclient, tests, vtysh: Allow for a minimum fd poll size 15320/head
authorDonald Sharp <sharpd@nvidia.com>
Wed, 7 Feb 2024 15:38:02 +0000 (10:38 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Wed, 7 Feb 2024 15:38:02 +0000 (10:38 -0500)
There exists cases where just honoring the FD_LIMIT size
as given to us by the operating system makes no sense.
Let's just make a switch to allow for this for things
like vtysh and ospfclient which will never have 1k files
open at any given time.

Fixes: #15315
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
lib/event.c

index 6427705e90a330f979308220ac074e651b51d8e5..fc46a11c0b46e0bb683cbe142d5c21e790c4cdce 100644 (file)
@@ -570,9 +570,12 @@ struct event_loop *event_master_create(const char *name)
                rv->fd_limit = (int)limit.rlim_cur;
        }
 
-       if (rv->fd_limit > STUPIDLY_LARGE_FD_SIZE)
-               zlog_warn("FD Limit set: %u is stupidly large.  Is this what you intended?  Consider using --limit-fds",
-                         rv->fd_limit);
+       if (rv->fd_limit > STUPIDLY_LARGE_FD_SIZE) {
+               zlog_warn("FD Limit set: %u is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to %u",
+                         rv->fd_limit, STUPIDLY_LARGE_FD_SIZE);
+
+               rv->fd_limit = STUPIDLY_LARGE_FD_SIZE;
+       }
 
        rv->read = XCALLOC(MTYPE_EVENT_POLL,
                           sizeof(struct event *) * rv->fd_limit);