It seems that your response missed the mailing list.

2010/3/22 Chun Tian (binghe) <binghe.lisp@gmail.com>

Strange ... for long time I thought there's no "select()" on win32, and I do see Erik (USOCKET author) use "WSAEventSelect" to implement the LispWorks version of WAIT-FOR-INTPUT-INTERNAL on win32. Now it seems that I was confused by another the speciality of "select()" function on win32:

* On UNIX, select() can be used to wait for both networking sockets and disk file handlers,
* On Windows, select() can only be used on networking sockets, so it's implemented by winsock library.

What you found, seems show me a very direct way to have all you want done immediately: just use SB-ALIEN to export the "select()" for win32, and remove the reader macro around exist Unix version of WAIT-FOR-INPUT-INTERNAL for SBCL.

Would you like a try on this approach?

I'll give it a shot.

Thanks (to both you and Erik) for the information.

--
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict the future is to invent it." - Alan Kay