From 2a9e6f3091b82d5fe961e33da95f0bd1c94e9312 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Wed, 28 Jul 2010 20:34:12 +0000 Subject: [PATCH] fix bug in identifying highest file descriptor in select() call --- src/slurmctld/controller.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index d66f0002f3d..f83bb232033 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -914,10 +914,13 @@ static void *_slurmctld_rpc_mgr(void *no_data) * Process incoming RPCs until told to shutdown */ while (_wait_for_server_thread()) { + int max_fd = -1; FD_ZERO(&rfds); - for (i=0; i<nports; i++) + for (i=0; i<nports; i++) { FD_SET(sockfd[i], &rfds); - if (select(nports, &rfds, NULL, NULL, NULL) == -1) { + max_fd = MAX(sockfd[i], max_fd); + } + if (select(max_fd+1, &rfds, NULL, NULL, NULL) == -1) { if (errno != EINTR) error("slurm_accept_msg_conn select: %m"); _free_server_thread(); -- GitLab