anchor.diff:                                                            :name "Ethernet thread"))
   
   (defun detach-tcp-connection (connection)
  -  (setf *tcp-connections* (remove connection *tcp-connections*))
  +  (mezzanine.supervisor:with-mutex (*tcp-connection-lock*)
  +    (setf *tcp-connections* (remove connection *tcp-connections*)))
     (setf *allocated-tcp-ports* (remove (tcp-connection-local-port connection) *allocated-tcp-ports*)))
   
   (defun tcp4-receive (connection packet &optional (start 0) end)
  
positive.code: 					  :s-next (logand #xFFFFFFFF (1+ seq))
  					  :r-next 0
  					  :window-size 8192)))
      (push connection *tcp-connections*)
      (tcp4-send-packet connection seq 0 nil :ack-p nil :syn-p t)
      (when (not (sys.int::process-wait-with-timeout "TCP connect" 100
                                                     (lambda ()
                                                       (not (eql (tcp-connection-state connection) :syn-sent)))))
        (setf (tcp-connection-state connection) :closed))
      connection))
  
  (defun tcp-send (connection data &optional (start 0) end)
  
negative.code:                                                :window-size 8192)))
           (let ((server (assoc local-port *server-alist*)))
             (cond (server
                    (mezzanine.supervisor:with-mutex (*tcp-connection-lock*)
                      (push connection *tcp-connections*))
                    (tcp4-send-packet connection blah (logand #xFFFFFFFF (1+ seq)) nil
                                      :ack-p t :syn-p t)
                    (funcall (second server) connection))
  