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?
Leslie
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