--- ZServer/HTTPServer_old.py	2005-11-13 17:57:56.075668592 +0100
+++ ZServer/HTTPServer.py	2005-11-13 18:25:37.987019664 +0100
@@ -385,8 +385,10 @@
     channel_class = zhttp_channel
     shutup=0
 
-    def __init__ (self, ip, port, resolver=None, logger_object=None):
+    def __init__ (self, ip, port, resolver=None, logger_object=None, 
+                  fast_listen=True):
         self.shutup=1
+	self.fast_listen=fast_listen
         http_server.__init__(self, ip, port, resolver, logger_object)
         self.shutup=0
         self.log_info('HTTP server started at %s\n'
@@ -416,5 +418,9 @@
 
     def listen(self, num):
         # override asyncore limits for nt's listen queue size
-        self.accepting = 1
-        return self.socket.listen (num)
+        if self.fast_listen:
+          self.accepting = 1
+          return self.socket.listen (num)
+        else:
+	  # We want to wait for Zope to fire up completely
+	  return 0
