Index: hunchentoot/acceptor.lisp
===================================================================
--- hunchentoot/acceptor.lisp	(revision 299693)
+++ hunchentoot/acceptor.lisp	(revision 299694)
@@ -178,9 +178,10 @@
     (format stream "\(host ~A, port ~A)"
             (or (acceptor-address acceptor) "*") (acceptor-port acceptor))))
 
-(defgeneric start (acceptor)
+(defgeneric start (acceptor &optional after-listen-hook)
   (:documentation "Starts the ACCEPTOR so that it begins accepting
-connections.  Returns the acceptor."))
+connections.  Returns the acceptor.  If after-listen-hook is passed in, it is
+called after listening has started"))
 
 (defgeneric stop (acceptor)
   (:documentation "Stops the ACCEPTOR so that it no longer accepts
@@ -237,10 +238,12 @@
 
 ;; general implementation
 
-(defmethod start ((acceptor acceptor))
+(defmethod start ((acceptor acceptor) &optional after-listen-hook)
   (start-listening acceptor)
   (let ((taskmaster (acceptor-taskmaster acceptor)))
     (setf (taskmaster-acceptor taskmaster) acceptor)
+    (when after-listen-hook
+      (funcall after-listen-hook))
     (execute-acceptor taskmaster))
   acceptor)
 
