summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/responder/pac/pacsrv.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/responder/pac/pacsrv.c b/src/responder/pac/pacsrv.c
index b21bb966d..db6e6b49e 100644
--- a/src/responder/pac/pacsrv.c
+++ b/src/responder/pac/pacsrv.c
@@ -44,6 +44,7 @@
#include "sbus/sbus_client.h"
#define SSS_PAC_PIPE_NAME "pac"
+#define DEFAULT_PAC_FD_LIMIT 8192
struct sbus_method monitor_pac_methods[] = {
{ MON_CLI_METHOD_PING, monitor_common_pong },
@@ -122,6 +123,7 @@ int pac_process_init(TALLOC_CTX *mem_ctx,
struct pac_ctx *pac_ctx;
int ret, max_retries;
enum idmap_error_code err;
+ int fd_limit;
pac_ctx = talloc_zero(mem_ctx, struct pac_ctx);
if (!pac_ctx) {
@@ -167,6 +169,19 @@ int pac_process_init(TALLOC_CTX *mem_ctx,
return EFAULT;
}
+ /* Set up file descriptor limits */
+ ret = confdb_get_int(pac_ctx->rctx->cdb,
+ CONFDB_PAC_CONF_ENTRY,
+ CONFDB_SERVICE_FD_LIMIT,
+ DEFAULT_PAC_FD_LIMIT,
+ &fd_limit);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_FATAL_FAILURE,
+ ("Failed to set up file descriptor limit\n"));
+ return ret;
+ }
+ responder_set_fd_limit(fd_limit);
+
DEBUG(SSSDBG_TRACE_FUNC, ("PAC Initialization complete\n"));
return EOK;