back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/server/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/server.c')
-rw-r--r--server/server.c8
1 files changed, 8 insertions, 0 deletions
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 <fcntl.h>
#include <syslog.h>
#include <time.h>
+#include <signal.h>
#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)) {