diff --git a/Doc/lib/libasyncore.tex b/Doc/lib/libasyncore.tex
index 89c7178..f466fa6 100644
--- a/Doc/lib/libasyncore.tex
+++ b/Doc/lib/libasyncore.tex
@@ -44,20 +44,20 @@
 service) is closed.
 
 \begin{funcdesc}{loop}{\optional{timeout\optional{, use_poll\optional{,
-                       map}}}}
-  Enter a polling loop that only terminates after all open channels
-  have been closed.  All arguments are optional.  The \var{timeout}
-  argument sets the timeout parameter for the appropriate
-  \function{select()} or \function{poll()} call, measured in seconds;
-  the default is 30 seconds.  The \var{use_poll} parameter, if true,
-  indicates that \function{poll()} should be used in preference to
-  \function{select()} (the default is \code{False}).  The \var{map} parameter
-  is a dictionary whose items are the channels to watch.  As channels
-  are closed they are deleted from their map.  If \var{map} is
-  omitted, a global map is used (this map is updated by the default
-  class \method{__init__()}
-  -- make sure you extend, rather than override, \method{__init__()}
-  if you want to retain this behavior).
+                       map\optional{,count}}}}}
+  Enter a polling loop that terminates after count passes or all open
+  channels have been closed.  All arguments are optional.  The \var(count)
+  parameter defaults to infinity, resulting in the loop terminating only
+  when all channels have been closed.  The \var{timeout} argument sets the
+  timeout parameter for the appropriate \function{select()} or
+  \function{poll()} call, measured in seconds; the default is 30 seconds.
+  The \var{use_poll} parameter, if true, indicates that \function{poll()}
+  should be used in preference to \function{select()} (the default is
+  \code{False}).  The \var{map} parameter is a dictionary whose items are
+  the channels to watch.  As channels are closed they are deleted from their
+  map.  If \var{map} is omitted, a global map is used (this map is updated
+  by the default class \method{__init__()} -- make sure you extend, rather
+  than override, \method{__init__()} if you want to retain this behavior).
 
   Channels (instances of \class{asyncore.dispatcher}, \class{asynchat.async_chat}
   and subclasses thereof) can freely be mixed in the map.
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index 69318c8..b687fd2 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -157,7 +157,7 @@
 
 poll3 = poll2                           # Alias for backward compatibility
 
-def loop(timeout=30.0, use_poll=False, map=None):
+def loop(timeout=30.0, use_poll=False, map=None, count=1e309):
     if map is None:
         map = socket_map
 
@@ -166,8 +166,9 @@
     else:
         poll_fun = poll
 
-    while map:
+    while map and count >= 0:
         poll_fun(timeout, map)
+        count = count - 1
 
 class dispatcher:
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 86c8586..b8ebccc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -319,6 +319,8 @@
 Library
 -------
 
+- asyncore.loop now has repeat count parameter that defaults to infinity.
+
 - The distutils sdist command now ignores all .svn directories, in
   addition to CVS and RCS directories.  .svn directories hold
   administrative files for the Subversion source control system.
