From f6ad259bd212b9396dc5ab7396e09b27a10af8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:54:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=83=B5=E5=B0=B8=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index 3f9c279..da66609 100644 --- a/server.c +++ b/server.c @@ -486,11 +486,12 @@ static void unimplemented(int client) { * Usage: simple-http-server [-d] [-p ] [-r ] [-u ] /**********************************************************************/ #define accept_client(client_sock, server_sock, client_name, client_name_len, newthread) {\ + signal(SIGCHLD, SIG_IGN);\ + signal(SIGQUIT, handle_quit);\ + signal(SIGPIPE, handle_quit);\ while(1) {\ client_sock = accept(server_sock,(struct sockaddr *)&client_name, &client_name_len);\ if(client_sock == -1) break;\ - signal(SIGQUIT, handle_quit);\ - signal(SIGPIPE, handle_quit);\ if(pthread_create(&newthread, NULL, accept_request, client_sock) != 0) perror("pthread_create");\ }\ close(client_sock);\