[Zodb-checkins] SVN: ZODB/branches/jim-zrpc/src/ZEO/zrpc/connection.py Only client connections need to manage replies.
Jim Fulton
jim at zope.com
Wed Jan 27 15:11:46 EST 2010
Log message for revision 108581:
Only client connections need to manage replies.
Changed:
U ZODB/branches/jim-zrpc/src/ZEO/zrpc/connection.py
-=-
Modified: ZODB/branches/jim-zrpc/src/ZEO/zrpc/connection.py
===================================================================
--- ZODB/branches/jim-zrpc/src/ZEO/zrpc/connection.py 2010-01-27 19:57:24 UTC (rev 108580)
+++ ZODB/branches/jim-zrpc/src/ZEO/zrpc/connection.py 2010-01-27 20:11:46 UTC (rev 108581)
@@ -424,11 +424,6 @@
# The singleton dict is a socket map containing only this object.
self._singleton = {self._fileno: self}
- # replies_cond is used to block when a synchronous call is
- # waiting for a response
- self.replies_cond = threading.Condition()
- self.replies = {}
-
# waiting_for_reply is used internally to indicate whether
# a call is in progress. setting a session key is deferred
# until after the call returns.
@@ -480,9 +475,6 @@
self.closed = True
self.__super_close()
self.trigger.pull_trigger()
- self.replies_cond.acquire()
- self.replies_cond.notifyAll()
- self.replies_cond.release()
def register_object(self, obj):
"""Register obj as the true object to invoke methods on."""
@@ -730,7 +722,6 @@
class ManagedClientConnection(Connection):
"""Client-side Connection subclass."""
__super_init = Connection.__init__
- __super_close = Connection.close
base_message_output = Connection.message_output
trigger = client_trigger
@@ -757,9 +748,20 @@
self.msgid = 0
self.msgid_lock = threading.Lock()
+ # replies_cond is used to block when a synchronous call is
+ # waiting for a response
+ self.replies_cond = threading.Condition()
+ self.replies = {}
+
self.__super_init(sock, addr, None, tag='C', map=client_map)
client_trigger.pull_trigger()
+ def close(self):
+ Connection.close(self)
+ self.replies_cond.acquire()
+ self.replies_cond.notifyAll()
+ self.replies_cond.release()
+
# Our message_ouput() queues messages until recv_handshake() gets the
# protocol handshake from the server.
def message_output(self, message):
More information about the Zodb-checkins
mailing list