From d3011add24983c01d788346f03ec9842aebbe396 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 20 May 2021 09:17:53 +0200 Subject: [PATCH] mxshadowsrv: Reintroduce DEBUG_MAX_CONNECTS --- mxshadowsrv.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mxshadowsrv.c b/mxshadowsrv.c index b7ed986..a2f6496 100644 --- a/mxshadowsrv.c +++ b/mxshadowsrv.c @@ -71,6 +71,9 @@ static struct stat statbuf; // protected by shadow_mutex static SSL_CTX *ssl_ctx; static int listen_socket; static char *filename; +#ifdef DEBUG_MAX_CONNECTS +static int debug_remaining_connects = DEBUG_MAX_CONNECTS; +#endif static void validate_shadow(char **shadow_buf, char *filename, struct stat *statbuf) { int status = pthread_mutex_lock(&shadow_mutex); @@ -189,6 +192,10 @@ static void process_client(int socket) { static void *client_thread(void *arg) { while (1) { +#ifdef DEBUG_MAX_CONNECTS + if ( __sync_fetch_and_sub(&debug_remaining_connects, 1) <= 0) + return NULL; +#endif int _cleanup_(free_fd) socket = accept4(listen_socket, NULL, NULL, SOCK_NONBLOCK); if (socket == -1 ) { perror("accept"); exit(1); } validate_shadow(&shadow_buf, filename, &statbuf);