On Sat, 14 Aug 2004 00:37:49 -0400, Tim Peters <tim.peters at gmail.com> wrote: > More generally, in 2.3.4 it didn't hurt to leave all kinds of crap in > the socket map, provided that any such crap didn't call itself ready > to read or ready to write. select() would never see it then. In 2.4, > select() always sees it. That's a big change, particularly because > everyone I've seen wrestling with asyncore works via iterative > poke-and-hope, fiddling their code more-or-less randomly, until > mysterious errors stop appearing. > > So if it's of real value to you (I don't know the motivating use case > for the change) to pass stuff in the exception set, would it be good > enough to do > > e = r + w > > instead of (in effect) > > e = map.keys() > > ? Then stuff that doesn't call itself readable or writable would > again, as in 2.3.4, not get passed to select(). I don't understand the use case or the correct intended use of asyncore <wink>, but e = r + w looks appealing. It allows object to be in the socket map without requiring that they be ready to do some kind of I/O at any instant that select is called. Jeremy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4