From 43d8a3ef5d51f1a1505fb2d1809a87a141f157fd Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@heathred.ucc.asn.au>
Date: Mon, 28 Feb 2011 11:02:50 +0800
Subject: [PATCH] server - Ignored SIGPIPE (fixes crashes if the client quits
 unexpectedly)

---
 src/server/server.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/server/server.c b/src/server/server.c
index fa50f0d..79a5c2d 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -17,6 +17,7 @@
 #include <string.h>
 #include <limits.h>
 #include <stdarg.h>
+#include <signal.h>
 
 #define	DEBUG_TRACE_CLIENT	0
 
@@ -119,6 +120,8 @@ void Server_Start(void)
 	struct sockaddr_in	server_addr, client_addr;
 
 	atexit(Server_Cleanup);
+	// Ignore SIGPIPE (stops crashes when the client exits early)
+	signal(SIGPIPE, SIG_IGN);
 
 	// Create Server
 	giServer_Socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
-- 
GitLab