mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
Fix issue 6706: adds new handle_accepted() method to asyncore.dispatcher
This commit is contained in:
parent
4c94c53630
commit
977c707b42
10 changed files with 126 additions and 42 deletions
|
@ -352,12 +352,15 @@ class dispatcher:
|
|||
# XXX can return either an address pair or None
|
||||
try:
|
||||
conn, addr = self.socket.accept()
|
||||
return conn, addr
|
||||
except TypeError:
|
||||
return None
|
||||
except socket.error as why:
|
||||
if why.args[0] == EWOULDBLOCK:
|
||||
pass
|
||||
if why.args[0] in (EWOULDBLOCK, ECONNABORTED):
|
||||
return None
|
||||
else:
|
||||
raise
|
||||
else:
|
||||
return conn, addr
|
||||
|
||||
def send(self, data):
|
||||
try:
|
||||
|
@ -506,7 +509,13 @@ class dispatcher:
|
|||
self.log_info('unhandled connect event', 'warning')
|
||||
|
||||
def handle_accept(self):
|
||||
self.log_info('unhandled accept event', 'warning')
|
||||
pair = self.accept()
|
||||
if pair is not None:
|
||||
self.handle_accepted(*pair)
|
||||
|
||||
def handle_accepted(self, sock, addr):
|
||||
sock.close()
|
||||
self.log_info('unhandled accepted event', 'warning')
|
||||
|
||||
def handle_close(self):
|
||||
self.log_info('unhandled close event', 'warning')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue