components/python/python26/patches/Python26-23-none-on-connect.patch
branchs11u3-sru
changeset 7811 9126e6f58cd8
parent 7792 ee802f9b5132
child 7816 79ee06fdecc5
--- a/components/python/python26/patches/Python26-23-none-on-connect.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
---- Python-2.6.4/Lib/asyncore.py	Wed Apr 15 16:00:41 2009
-+++ Python-2.6.4/Lib/new.asyncore.py	Thu Aug  4 09:55:22 2011
-@@ -348,12 +348,15 @@
-         # XXX can return either an address pair or None
-         try:
-             conn, addr = self.socket.accept()
--            return conn, addr
--        except socket.error, why:
--            if why.args[0] == EWOULDBLOCK:
--                pass
-+        except TypeError:
-+            return None
-+        except socket.error as why:
-+            if why.args[0] in (EWOULDBLOCK, ECONNABORTED):
-+                return None
-             else:
-                 raise
-+        else:
-+            return conn, addr
- 
-     def send(self, data):
-         try:
---- Python-2.6.4/Doc/library/asyncore.rst	Wed Apr 15 16:00:41 2009
-+++ Python-2.6.4/Doc/library/new.asyncore.rst	Thu Aug  4 10:05:40 2011
-@@ -211,10 +211,13 @@
-    .. method:: accept()
- 
-       Accept a connection.  The socket must be bound to an address and listening
--      for connections.  The return value is a pair ``(conn, address)`` where
--      *conn* is a *new* socket object usable to send and receive data on the
--      connection, and *address* is the address bound to the socket on the other
--      end of the connection.
-+      for connections.  The return value can be either ``None`` or a pair
-+      ``(conn, address)`` where *conn* is a *new* socket object usable to send
-+      and receive data on the connection, and *address* is the address bound to
-+      the socket on the other end of the connection.
-+      When ``None`` is returned it means the connection didn't take place, in
-+      which case the server should just ignore this event and keep listening
-+      for further incoming connections.
- 
- 
-    .. method:: close()
-@@ -223,6 +229,12 @@
-       flushed).  Sockets are automatically closed when they are
-       garbage-collected.
- 
-+.. class:: dispatcher_with_send()
-+
-+   A :class:`dispatcher` subclass which adds simple buffered output capability,
-+   useful for simple clients. For more sophisticated usage use
-+   :class:`asynchat.async_chat`.
-+
- .. class:: file_dispatcher()
- 
-    A file_dispatcher takes a file descriptor or file object along with an
-@@ -239,7 +250,7 @@
-    socket for use by the :class:`file_dispatcher` class.  Availability: UNIX.
- 
- 
--.. _asyncore-example:
-+.. _asyncore-example-1:
- 
- asyncore Example basic HTTP client
- ----------------------------------
-@@ -249,7 +260,7 @@
- 
-    import asyncore, socket
- 
--   class http_client(asyncore.dispatcher):
-+   class HTTPClient(asyncore.dispatcher):
- 
-        def __init__(self, host, path):
-            asyncore.dispatcher.__init__(self)
-@@ -273,6 +284,45 @@
-            sent = self.send(self.buffer)
-            self.buffer = self.buffer[sent:]
- 
--   c = http_client('www.python.org', '/')
- 
-+   client = HTTPClient('www.python.org', '/')
-    asyncore.loop()
-+
-+.. _asyncore-example-2:
-+
-+asyncore Example basic echo server
-+----------------------------------
-+
-+Here is abasic echo server that uses the :class:`dispatcher` class to accept
-+connections and dispatches the incoming connections to a handler::
-+
-+    import asyncore
-+    import socket
-+
-+    class EchoHandler(asyncore.dispatcher_with_send):
-+
-+        def handle_read(self):
-+            data = self.recv(8192)
-+            self.send(data)
-+
-+    class EchoServer(asyncore.dispatcher):
-+
-+        def __init__(self, host, port):
-+            asyncore.dispatcher.__init__(self)
-+            self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
-+            self.set_reuse_addr()
-+            self.bind((host, port))
-+            self.listen(5)
-+
-+        def handle_accept(self):
-+            pair = self.accept()
-+            if pair is None:
-+                pass
-+            else:
-+                sock, addr = pair
-+                print 'Incoming connection from %s' % repr(addr)
-+                handler = EchoHandler(sock)
-+
-+    server = EchoServer('localhost', 8080)
-+    asyncore.loop()
-+