commit a793af32722b22c2e3bde52f87b4117d40ff13de
parent df22b273574ae14e3e636050a44dd274750aa747
Author: Francesco Saccone <francesco@francescosaccone.com>
Date: Mon, 31 Mar 2025 14:11:44 +0200
fix: move main while loop inside child process
Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>
Diffstat:
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/hermes.c b/hermes.c
@@ -117,6 +117,15 @@ main(int argc, char *argv[]) {
break;
case 0:
/* child process */
+
+ while (1) {
+ int client_socket_fd = accept_client(server_socket_fd),
+ buffer_size = 104857600 * sizeof(char); /* i.e. 100 MiB */
+ char *buffer = malloc(buffer_size);
+
+ read_client_request(client_socket_fd, buffer, buffer_size);
+ }
+
break;
default:
/* parent process */
@@ -131,13 +140,5 @@ main(int argc, char *argv[]) {
break;
}
- while (1) {
- int client_socket_fd = accept_client(server_socket_fd),
- buffer_size = 104857600 * sizeof(char); /* i.e. 100 MiB */
- char *buffer = malloc(buffer_size);
-
- read_client_request(client_socket_fd, buffer, buffer_size);
- }
-
return 0;
}