[ZODB-Dev] bug in ZEO-1.0b3

Jeremy Hylton jeremy@digicool.com
Wed, 30 May 2001 14:42:53 -0400 (EDT)


The following patch should fix the problem.  Can you confirm?

Jeremy

Index: zrpc.py
===================================================================
RCS file: /cvs-repository/Packages/ZEO/zrpc.py,v
retrieving revision 1.17
diff -c -u -r1.17 zrpc.py
cvs server: conflicting specifications of output style
--- zrpc.py	2001/05/22 18:05:43	1.17
+++ zrpc.py	2001/05/30 18:37:04
@@ -287,12 +287,15 @@
             # We aren't willing to close until told to by the main loop.
             # So we'll tell the main loop to tell us. :)
             self.__Wakeup(lambda self=self: self.close()) 
-        else: self.close()
+        else:
+            self.__closed = 1
+            self.close()
         
     def close(self):
         asyncRPC.inheritedAttribute('close')(self)
         self.aq_parent.notifyDisconnected(self)
+        # causes read call to raise last exception, which should be
+        # the socket error that caused asyncore to close the socket.
         self.__r='E'+dump(sys.exc_info()[:2], 1)
-        self.__closed = 1
         try: self.__lr()
         except: pass