diff --git a/src/shared/transport_tcp.c b/src/shared/transport_tcp.c index c06278b..4a90bd1 100644 --- a/src/shared/transport_tcp.c +++ b/src/shared/transport_tcp.c @@ -2,6 +2,7 @@ #include "log.h" #include "protocol.h" #include +#include #include #include #include @@ -74,6 +75,8 @@ static void accept_loop(Server* server, void (*child_fn)(int, void*), void* chil socklen_t client_len = sizeof(client_addr); int fd = accept(server->file_descriptor, (struct sockaddr*)&client_addr, &client_len); if (fd < 0) { + if (errno == EINTR) + break; perror("Could not accept the connection"); continue; }