X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fgssd%2Fgssd_proc.c;h=d01ba2fe6778439d7db22c3d993b7ed215c57363;hp=6f9840e7467218ec8862c54ab2bd015f2143ab99;hb=7c5cb5e732a4b8704f8c79ec819c5d271e040339;hpb=19024076a7497a2423ff06d36496385f27395332 diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c index 6f9840e..d01ba2f 100644 --- a/utils/gssd/gssd_proc.c +++ b/utils/gssd/gssd_proc.c @@ -52,6 +52,7 @@ #include #include #include +#include #include #include @@ -472,9 +473,13 @@ fail_keep_client: void init_client_list(void) { + struct rlimit rlim; TAILQ_INIT(&clnt_list); /* Eventually plan to grow/shrink poll array: */ pollsize = FD_ALLOC_BLOCK; + if (getrlimit(RLIMIT_NOFILE, &rlim) < 0 && + rlim.rlim_cur != RLIM_INFINITY) + pollsize = rlim.rlim_cur; pollarray = calloc(pollsize, sizeof(struct pollfd)); }