Hi,
I found that with-accept-connection is no call shutdown on the socket, but without this FIN will be sent to the client.
diff --git a/src/sockets/make-socket.lisp b/src/sockets/make-socket.lisp index b87a214..e4e1d06 100644 --- a/src/sockets/make-socket.lisp +++ b/src/sockets/make-socket.lisp @@ -274,7 +274,10 @@ The socket is automatically closed upon exit." (defmacro with-accept-connection ((var passive-socket &rest args) &body body) "Bind VAR to a socket created by passing PASSIVE-SOCKET and ARGS to ACCEPT-CONNECTION and execute BODY as implicit PROGN. The socket is automatically closed upon exit." - `(with-open-stream (,var (accept-connection ,passive-socket ,@args)) ,@body)) + `(with-open-stream (,var (accept-connection ,passive-socket ,@args)) + (unwind-protect + (progn ,@body) + (shutdown ,var :write t :read t)))) ;;; MAKE-SOCKET-FROM-FD
Andrey