From b59b89c83466d13dd3a69ddd19353ec612b17bb4 Mon Sep 17 00:00:00 2001
From: Julian Rother <julian@jrother.eu>
Date: Wed, 28 Jul 2021 14:44:20 +0200
Subject: [PATCH] Changed server from forking to threaded for performance

---
 server.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/server.py b/server.py
index 2c5160c..6a53bf5 100644
--- a/server.py
+++ b/server.py
@@ -236,9 +236,7 @@ def main(config):
 	CustomRequestHandler.group_directory = group_directory
 
 	if config['listen_addr'].startswith('unix:'):
-		class ForkingUnixStreamServer(socketserver.ForkingMixIn, socketserver.UnixStreamServer):
-			pass
-		ForkingUnixStreamServer(config['listen_addr'][5:], RequestHandler).serve_forever()
+		socketserver.ThreadingUnixStreamServer(config['listen_addr'][5:], CustomRequestHandler).serve_forever()
 	else:
 		addr = config['listen_addr']
 		port = '389'
@@ -248,7 +246,7 @@ def main(config):
 				port = remainder[1:]
 		elif ':' in addr:
 			addr, port = addr.split(':')
-		socketserver.ForkingTCPServer((addr, int(port)), CustomRequestHandler).serve_forever()
+		socketserver.ThreadingTCPServer((addr, int(port)), CustomRequestHandler).serve_forever()
 
 if __name__ == '__main__':
 	if len(sys.argv) != 2:
-- 
GitLab