summaryrefslogtreecommitdiff
path: root/jsonrpclib
diff options
context:
space:
mode:
authorJosh Marshall <catchjosh@gmail.com>2021-03-30 15:20:57 +0900
committerJosh Marshall <catchjosh@gmail.com>2021-03-30 15:20:57 +0900
commit4b82291c402f876a57a115c5a6a04185bfaaf096 (patch)
tree937b33ba947872069f7d6436e49efa7f79699404 /jsonrpclib
parent75a9318ab26d7feb7e8bb2c2d6ce6cf6b280cf0a (diff)
downloadjsonrpclib-4b82291c402f876a57a115c5a6a04185bfaaf096.tar.gz
Bypassing TCP sockopts for Unix sockets, fixing Unix teardowns.
Diffstat (limited to 'jsonrpclib')
-rw-r--r--jsonrpclib/SimpleJSONRPCServer.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/jsonrpclib/SimpleJSONRPCServer.py b/jsonrpclib/SimpleJSONRPCServer.py
index 5addcf0..0bb1833 100644
--- a/jsonrpclib/SimpleJSONRPCServer.py
+++ b/jsonrpclib/SimpleJSONRPCServer.py
@@ -189,6 +189,11 @@ class SimpleJSONRPCRequestHandler(
self.connection.shutdown(1)
+class SimpleJSONRPCUnixRequestHandler(SimpleJSONRPCRequestHandler):
+
+ disable_nagle_algorithm = False
+
+
class SimpleJSONRPCServer(socketserver.TCPServer, SimpleJSONRPCDispatcher):
allow_reuse_address = True
@@ -210,6 +215,9 @@ class SimpleJSONRPCServer(socketserver.TCPServer, SimpleJSONRPCDispatcher):
except OSError:
logging.warning("Could not unlink socket %s", addr)
+ if requestHandler == SimpleJSONRPCRequestHandler:
+ requestHandler = SimpleJSONRPCUnixRequestHandler
+
socketserver.TCPServer.__init__(
self, addr, requestHandler, bind_and_activate)
if fcntl is not None and hasattr(fcntl, 'FD_CLOEXEC'):