From d11ddd20791e913ce6456800d4e28ba9d24e7626 Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Wed, 28 Aug 2013 21:42:38 +0900 Subject: [PATCH] Don't use `socket.makefile()`. Makefile creates new fd on Python 2. http://hg.python.org/cpython/file/026ee0057e2d/Modules/socketmodule.c#l2369 This commit reduces two fds per connection. --- pymysql/connections.py | 46 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/pymysql/connections.py b/pymysql/connections.py index c7e7eb2..f61e124 100644 --- a/pymysql/connections.py +++ b/pymysql/connections.py @@ -223,7 +223,7 @@ class MysqlPacket(object): def __recv_packet(self): """Parse the packet header and read entire packet payload into buffer.""" - packet_header = self.connection.rfile.read(4) + packet_header = self.connection._read_bytes(4) if len(packet_header) < 4: raise OperationalError(2013, "Lost connection to MySQL server during query") @@ -234,7 +234,7 @@ class MysqlPacket(object): bin_length = packet_length_bin + int2byte(0) # pad little-endian number bytes_to_read = struct.unpack('