anchor.diff:  		 (etypecase socket
   		   (usocket:stream-server-usocket
   		    ;; a tcp socket to accept
  -		    (push (make-rpc-connection :conn
  -					       (usocket:socket-accept socket)
  -					       :time 
  -					       (get-universal-time))
  -			  connections))
  +		    (let ((conn (make-rpc-connection :conn
  +						     (usocket:socket-accept socket)
  +						     :time 
  +						     (get-universal-time))))
  +		      (log:debug "Accepting TCP connection from ~A:~A" 
  +				 (usocket:get-peer-address (rpc-connection-conn conn))
  +				 (usocket:get-peer-port (rpc-connection-conn conn)))
  +		      (push conn connections)))
   		   (usocket:datagram-usocket
   		    ;; a udp socket is ready to read from
   		    (handler-case (accept-udp-rpc-request server socket udp-buffer)
  
positive.code: 			       (cond
  				 ((> (- now (rpc-connection-time c)) timeout)
  				  ;; the connection is old, close it 
  				  (log:debug "Purging old connection")
  				  (handler-case (usocket:socket-close (rpc-connection-conn c))
  				    (error (e)
  				      (log:debug "Couldn't close connection: ~S" e)))
  
negative.code: 							 :id (rpc-msg-xid msg))))
  		    (error (e)
  		      ;; FIXME: should we just terminate the connection at this point?
  		      (log:error "Error handling: ~A" e) 
  		      (%write-rpc-msg output-stream
  				      (make-rpc-response :accept :garbage-args
  							 :id (rpc-msg-xid msg))))))))))))
  