anchor.diff:     #+db-sockets
      (let ((s (sockets:make-inet-socket :stream :tcp)))
        (setf (sockets:sockopt-reuse-address s) t)
  -     (sockets:socket-bind s #(0 0 0 0) port)
  +     (sockets:socket-bind s #(0 0 0 0) (or port 0))
        (sockets:socket-listen s 5)
        s)
      #+allegro
  
positive.code:    (close socket)))
  
  
  (defun wait-for-input-on-streams (server-sockets streams)
    "SERVER-SOCKETS is a list of UNCONNECTED-SOCKETs.  
  STREAMS is a list whose elements are STREAMs. Wait for a while,
  
negative.code:                 nil))))
         (if (not ready)
             nil
             (if (member (car ready) streams)
                 (values :stream (car ready))
                 (values :server
                         (loop for s in server-sockets
                               when (eql (car ready) (socket:socket-os-fd s)) 
                               return s))))))
     
     ;; Default
     (progn (sleep 0.01)
  