From 831f9f01fbe4088eb6bd378c0e417d9996b676fd Mon Sep 17 00:00:00 2001 From: scratko Date: Fri, 30 Aug 2024 12:46:56 +0300 Subject: Final version v2.0 Added windows client. SIGPIPE signal was being sent to the server when the client was disconnected. Now there is handling of this signal. Added a delay when displaying some informational messages. --- server/server.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'server/server.c') diff --git a/server/server.c b/server/server.c index 6a9075c..0017888 100644 --- a/server/server.c +++ b/server/server.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "server.h" #include "server_data_processing.h" @@ -14,6 +15,12 @@ #include "card_stack.h" #include "card_queue.h" +void handler(int s) +{ + if(s == SIGPIPE) + signal(SIGPIPE, handler); +} + static void init_session(struct session *new_session, struct sockaddr_in *from, int fd, int player_position) { @@ -958,6 +965,7 @@ int main(int argc, char **argv) srand(time(NULL)); openlog("durak server", 0, LOG_USER); syslog(LOG_INFO, "daemon started"); + signal(SIGPIPE, handler); port = strtol(argv[1], NULL, 10); if(!init_server(&serv, port)) { -- cgit v1.2.3