This commit is contained in:
Martin v. Löwis 2004-06-14 04:58:42 +00:00
parent 148a63f1fc
commit ad21945d03
3 changed files with 16 additions and 19 deletions

View File

@ -44,20 +44,20 @@ channel (including any that have been added to the map during asynchronous
service) is closed. service) is closed.
\begin{funcdesc}{loop}{\optional{timeout\optional{, use_poll\optional{, \begin{funcdesc}{loop}{\optional{timeout\optional{, use_poll\optional{,
map\optional{,count}}}}} map}}}}
Enter a polling loop that terminates after count passes or all open Enter a polling loop that only terminates after all open channels
channels have been closed. All arguments are optional. The \var(count) have been closed. All arguments are optional. The \var{timeout}
parameter defaults to infinity, resulting in the loop terminating only argument sets the timeout parameter for the appropriate
when all channels have been closed. The \var{timeout} argument sets the \function{select()} or \function{poll()} call, measured in seconds;
timeout parameter for the appropriate \function{select()} or the default is 30 seconds. The \var{use_poll} parameter, if true,
\function{poll()} call, measured in seconds; the default is 30 seconds. indicates that \function{poll()} should be used in preference to
The \var{use_poll} parameter, if true, indicates that \function{poll()} \function{select()} (the default is \code{False}). The \var{map} parameter
should be used in preference to \function{select()} (the default is is a dictionary whose items are the channels to watch. As channels
\code{False}). The \var{map} parameter is a dictionary whose items are are closed they are deleted from their map. If \var{map} is
the channels to watch. As channels are closed they are deleted from their omitted, a global map is used (this map is updated by the default
map. If \var{map} is omitted, a global map is used (this map is updated class \method{__init__()}
by the default class \method{__init__()} -- make sure you extend, rather -- make sure you extend, rather than override, \method{__init__()}
than override, \method{__init__()} if you want to retain this behavior). if you want to retain this behavior).
Channels (instances of \class{asyncore.dispatcher}, \class{asynchat.async_chat} Channels (instances of \class{asyncore.dispatcher}, \class{asynchat.async_chat}
and subclasses thereof) can freely be mixed in the map. and subclasses thereof) can freely be mixed in the map.

View File

@ -157,7 +157,7 @@ def poll2(timeout=0.0, map=None):
poll3 = poll2 # Alias for backward compatibility poll3 = poll2 # Alias for backward compatibility
def loop(timeout=30.0, use_poll=False, map=None, count=1e309): def loop(timeout=30.0, use_poll=False, map=None):
if map is None: if map is None:
map = socket_map map = socket_map
@ -166,9 +166,8 @@ def loop(timeout=30.0, use_poll=False, map=None, count=1e309):
else: else:
poll_fun = poll poll_fun = poll
while map and count >= 0: while map:
poll_fun(timeout, map) poll_fun(timeout, map)
count = count - 1
class dispatcher: class dispatcher:

View File

@ -349,8 +349,6 @@ Library
- refactored site.py into functions. Also wrote regression tests for the - refactored site.py into functions. Also wrote regression tests for the
module. module.
- asyncore.loop now has repeat count parameter that defaults to infinity.
- The distutils sdist command now ignores all .svn directories, in - The distutils sdist command now ignores all .svn directories, in
addition to CVS and RCS directories. .svn directories hold addition to CVS and RCS directories. .svn directories hold
administrative files for the Subversion source control system. administrative files for the Subversion source control system.