Skip to content

Commit f0616de

Browse files
committed
fix close connection when mysql server is down
1 parent b247855 commit f0616de

File tree

2 files changed

+3
-11
lines changed

2 files changed

+3
-11
lines changed

tormysql/connections.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ def _read_bytes(self, num_bytes):
154154
self._rbuffer = StringIO(last_buf + b''.join(self._rfile._read_buffer))
155155
self._rfile._read_buffer.clear()
156156
self._rfile._read_buffer_size = 0
157+
if not self._rfile._state & self._rfile.io_loop.READ:
158+
self._rfile._state |= self._rfile.io_loop.READ
159+
self._rfile.io_loop.update_handler(self._rfile.fileno(), self._rfile._state)
157160
return self._rbuffer.read(num_bytes)
158161

159162
child_gr = greenlet.getcurrent()

tormysql/pool.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ def __init__(self, *args, **kwargs):
6666
self._closed = False
6767
self._close_future = None
6868
self._check_idle_callback = False
69-
self._check_close_callback = False
7069

7170
@property
7271
def closed(self):
@@ -157,12 +156,6 @@ def close_connection(self, connection):
157156
except ValueError:
158157
raise ConnectionUsedError()
159158

160-
def check_close_callback(self):
161-
self._check_close_callback = False
162-
for connection in list(self._connections):
163-
if connection.open:
164-
connection.socket._handle_read()
165-
166159
def connection_close_callback(self, connection):
167160
try:
168161
del self._used_connections[id(connection)]
@@ -178,10 +171,6 @@ def connection_close_callback(self, connection):
178171
IOLoop.current().add_callback(close_future.set_result, None)
179172
self._close_future = None
180173

181-
if not self._check_close_callback:
182-
IOLoop.current().add_callback(self.check_close_callback)
183-
self._check_close_callback = True
184-
185174
def close(self):
186175
if self._closed:
187176
raise ConnectionPoolClosedError()

0 commit comments

Comments
 (0)