From 16ef19315c6d65dff45560faf69de09bbde0bf3b Mon Sep 17 00:00:00 2001
From: tewk <tewk@unknown>
Date: Tue, 23 Jul 2002 19:20:52 +0000
Subject: [PATCH] fixed problems with daemon loop it now continues to service
 request even after a failure to completly receive a request

---
 src/slurmctld/controller.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 239b3538cbf..4af29e5d889 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -140,7 +140,7 @@ main (int argc, char *argv[])
 		if ( ( newsockfd = slurm_accept_msg_conn ( sockfd , & cli_addr ) ) == SLURM_SOCKET_ERROR )
 		{
 			error ("slurm_accept_msg_conn error %d", errno) ;
-			break ;
+			continue ;
 		}
 		
 		/* receive message call that must occur before thread spawn because in message 
@@ -150,7 +150,9 @@ main (int argc, char *argv[])
 		if ( ( error_code = slurm_receive_msg ( newsockfd , msg ) ) == SLURM_SOCKET_ERROR )
 		{
 			error ("slurm_receive_msg error %d", errno);
-			break ;
+			slurm_close_accepted_conn ( newsockfd ); /* close the new socket */
+			slurm_free_msg ( msg ) ;
+			continue ;
 		}
 
 		msg -> conn_fd = newsockfd ;	
-- 
GitLab