From 0a53e4457f6135c1474bb3ecdfe1fa0cfefb00a5 Mon Sep 17 00:00:00 2001 From: Username Date: Sun, 22 Feb 2026 13:58:20 +0100 Subject: [PATCH] rocksock: skip shutdown on never-connected sockets Track connection state with _connected flag. Only call socket.shutdown() on successfully connected sockets. Saves ~39s/session on workers (974k disconnect calls). --- rocksock.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rocksock.py b/rocksock.py index c204f15..27c5521 100644 --- a/rocksock.py +++ b/rocksock.py @@ -242,6 +242,7 @@ class Rocksock(): target = RocksockProxy(host, port, RS_PT_NONE) self.proxychain.append(target) self.sock = None + self._connected = False self.timeout = timeout def _translate_socket_error(self, e, pnum): @@ -302,15 +303,18 @@ class Rocksock(): select.select([], [self.sock], []) """ + self._connected = True def disconnect(self): if self.sock is None: return - try: - self.sock.shutdown(socket.SHUT_RDWR) - except socket.error: - pass + if self._connected: + try: + self.sock.shutdown(socket.SHUT_RDWR) + except socket.error: + pass self.sock.close() self.sock = None + self._connected = False def canread(self): return select.select([self.sock], [], [], 0)[0]