Hi.

Thu, 3 Apr 2014 00:21:30 -0300, fernando.ribeiro wrote:
> From the docs, socket-shutdown should call socket-close when the close
> parameter is #t, but I am having issues with the following code:
> 
> (define socket (make-client-socket "localhost" 61613))
> 
> (socket-shutdown socket) ; doesn't seem to call socket-close, or as least
> not to flush the output port

I looked into the underlying C function 'socket_shutdown' (in file
runtime/Clib/csocket.c).
It calls shutdown first and contains a comment by Manuel:
      /* MS: 19 Aug 2008, we don't have to close fd */
      /* since it will be closed automatically with */
      /* SOCKET( sock ).input                       */
I don' understand the comment because the C shutdown
call comes before any hooks or similar.

In my code, I use this pattern:
(socket-close s)
(socket-shutdown s)

Ciao
Sven

Reply via email to