From f8a73fde2b39e2e721d78da90b8c4820b2425da3 Mon Sep 17 00:00:00 2001 From: Quinten Date: Tue, 11 Nov 2025 16:29:27 +0100 Subject: [PATCH] fix: set pipes to blocking mode in CgiProcess spawn method --- webserv/handler/CgiProcess.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/webserv/handler/CgiProcess.cpp b/webserv/handler/CgiProcess.cpp index 6c00502..f9e6b54 100644 --- a/webserv/handler/CgiProcess.cpp +++ b/webserv/handler/CgiProcess.cpp @@ -63,7 +63,14 @@ void CgiProcess::spawn() if (pid_ == 0) { int flags = fcntl(pipeStdin[0], F_GETFL, 0); - if (flags != -1) {fcntl(pipeStdin[0], F_SETFL, flags & ~O_NONBLOCK);} + fcntl(pipeStdin[0], F_SETFL, flags & ~O_NONBLOCK); + + flags = fcntl(pipeStdout[1], F_GETFL, 0); + fcntl(pipeStdout[1], F_SETFL, flags & ~O_NONBLOCK); + + flags = fcntl(pipeStderr[1], F_GETFL, 0); + fcntl(pipeStderr[1], F_SETFL, flags & ~O_NONBLOCK); + dup2(pipeStdin[0], STDIN_FILENO); dup2(pipeStdout[1], STDOUT_FILENO); dup2(pipeStderr[1], STDERR_FILENO);