[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2021-10-21 Thread Irit Katriel


Change by Irit Katriel :


--
resolution:  -> wont fix
stage:  -> resolved
status: open -> closed
superseder: asyncore.dispatcher.recv doesn't handle EAGAIN / EWOULDBLOCK -> 
Close asyncore/asynchat/smtpd  issues and list them here

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2018-01-03 Thread STINNER Victor

STINNER Victor  added the comment:

I reopen the issue since David Vitek proposed a patch.

--
resolution: duplicate -> 
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2018-01-03 Thread David Vitek

David Vitek  added the comment:

It doesn't look like the fix for issue #16133 fixed this problem, or perhaps it 
only fixed it for asynchat but not asyncore.

I have attached a patch (against python 2, since this is where I needed it 
fixed).  The patch treats WSA flavors of all errno values in the same way that 
the non-WSA flavors were treated before.

It is the intent that no direct references to errno values persist after 
applying this patch.  The patch fixed my particular issue, but I certainly 
haven't tested every new error condition.

--
keywords: +patch
nosy: +dvitek
Added file: https://bugs.python.org/file47363/p.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2014-07-24 Thread STINNER Victor

Changes by STINNER Victor :


--
resolution:  -> duplicate
status: open -> closed
superseder:  -> asyncore.dispatcher.recv doesn't handle EAGAIN / EWOULDBLOCK

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2014-06-27 Thread STINNER Victor

STINNER Victor added the comment:

This issue looks like a duplicate of the issue #16133.

--
nosy: +haypo

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15982] asyncore.dispatcher does not handle windows socket error code correctly (namely WSAEWOULDBLOCK 10035)

2012-09-20 Thread Nicolai Ehemann

New submission from Nicolai Ehemann:

There are some differences between win32 and other os socket implementations. 
One specific I found is that in windows, non-blocking socket apis will return 
WSAEWOULDBLOCK or 10035 instead of EWOULDBLOCK.

This causes recv() in asyncore.dispatcher to raise an unhandled exception 
instead of continuing gracefully.

The fix could maybe be as simple as replacing line 384 in asyncore.py:
  data = self.socket.recv(buffer_size)
with
  try:
data = self.socket.recv(buffer_size)
  except socket.error as e:
if 10035 == e.errno:
  pass
else:
  raise e

The differences between windows and unix non-blocking sockets are summarized 
quite nice here: http://itamarst.org/writings/win32sockets.html

The original documentation from microsoft can be found here: 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx

--
components: Library (Lib)
messages: 170799
nosy: McNetic
priority: normal
severity: normal
status: open
title: asyncore.dispatcher does not handle windows socket error code correctly 
(namely WSAEWOULDBLOCK 10035)
type: behavior
versions: Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com