Define sensible INSTALL-NONBLOCK-FLAG for (and sbcl win32). master
authorAnton Kovalenko <anton@sw4me.com>
Sun, 15 Jan 2012 15:23:31 +0000 (19:23 +0400)
committerAnton Kovalenko <anton@sw4me.com>
Sun, 15 Jan 2012 15:23:31 +0000 (19:23 +0400)
commit3575d6f377c2d09d5efdcaa1c3b1d688d97652d2
tree3d51692f5e74bf8b0286d0cb489535a6488bab53
parent12bcce55f2ea27d31d08001770bb32f67f8631b6
Define sensible INSTALL-NONBLOCK-FLAG for (and sbcl win32).

Unofficial threaded win32 fork provides a FIONBIO constant. If it's
BOUNDP, let's call an appropriate ioctl on the fd. Otherwise the
original do-nothing semantics is fully preserved.

With mainline (unpatched) SBCL/win32, CL+SSL stream unwrapping is
going to fail, as FD-STREAM-FD returns a CRT descriptor while openssl
expects a kernel object handle. Even though some uses of CL+SSL remain
possible despite this problem, it still makes catering to the patched
SBCL/win32 seem more reasonable.
streams.lisp