Known limitations of SBCL's Windows support

  1. Pending input/output operation will block further operations on this handle.

    This affects SLIME when it uses multiple threads (this is set by setting *communication-style* to :spawn; by default SLIME uses single thread for communication with Emacs).

    This limitation is corrected making non-blocking input/output operations.

  2. (As an indirect consequence of the first limitation) Dynamically loading foreign library will hang if other thread is reading from standard input or writing to standard output or to standard error output.

  3. Input/output on sockets is not fully supported. Not supported operations include read-char-no-hang, sb-bsd-sockets:select.

    This affects almost any socket-using code. For example, Hunchentoot.