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