[Neo-report] r2000 vincent - /trunk/neo/connector.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Apr 19 11:49:22 CEST 2010
Author: vincent
Date: Mon Apr 19 11:49:16 2010
New Revision: 2000
Log:
Get fileno from socket once only.
Modified:
trunk/neo/connector.py
Modified: trunk/neo/connector.py
==============================================================================
--- trunk/neo/connector.py [iso-8859-1] (original)
+++ trunk/neo/connector.py [iso-8859-1] Mon Apr 19 11:49:16 2010
@@ -55,6 +55,7 @@
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
else:
self.socket = s
+ self.socket_fd = self.socket.fileno()
# always use non-blocking sockets
self.socket.setblocking(0)
# disable Nagle algorithm to reduce latency
@@ -92,7 +93,7 @@
# this descriptor must only be used by the event manager, where it
# guarantee unicity only while the connector is opened and registered
# in epoll
- return self.socket.fileno()
+ return self.socket_fd
def getNewConnection(self):
try:
@@ -139,10 +140,10 @@
return self.socket.close()
def __repr__(self):
- try:
- fileno = str(self.socket.fileno())
- except socket.error:
+ if self.is_closed:
fileno = '?'
+ else:
+ fileno = self.socket_fd
result = '<%s at 0x%x fileno %s %s>' % (self.__class__.__name__,
id(self), fileno, self.socket.getsockname())
if self.is_closed is None:
More information about the Neo-report
mailing list