2010/3/21 Lorenz Mösenlechner <moesenle@...>:
>> To close a stream without flushing, use
>> (close stream :abort t)
> that will work. Thanks.
> But I think I found another issue with SB-BSD-SOCKETS:SOCKET-CLOSE:
> It first tries to close the stream, without the abort parameter, and
> invalidates its stream slot in a unwind-protect protection form. That
> means the 'broken-pipe' condition will be raised but the stream will
> stay open and even worse will be not bound to a slot anymore.
Yuk, that's nasty. Thanks for the note!
I logged this as https://bugs.launchpad.net/sbcl/+bug/543952
The common practice is to use CL:CLOSE instead of
SB-BSD-SOCKETS:SOCKET-CLOSE if MAKE-SOCKET-STREAM has been called,
which is probably why people haven't been complaining about this.