On Sun, Jun 14, 2009 at 09:30, Leslie P. Polzersky@viridian-project.de wrote:
I've noticed that SBCL's SB-BSD-SOCKETS:MAKE-STREAM supports specifying a timeout but usocket declares it as unsupported.
Is this simply something that needs to be changed or are there larger issue which I'm not aware of?
Last time I looked, SBCL did not support timeouts on the stream level, i.e. the TIMEOUT argument to MAKE-STREAM only affected the underlying socket (and, specifically, the SO_TIMEOUT socket option value). This means that the value passed as TIMEOUT is imprecisesely followed, at best, and could be excessively exceeded in pathological cases.
There is kind of a semantic gap between what TIMEOUT implies and what MAKE-STREAM really does. If you want to work on this, I'd propose that you added a new SOCKET-TIMEOUT argument that would be passed as the value of the SO_TIMEOUT value to make it clear that the timeout passed only indirectly affects the stream's behavior.
-Hans