select on windows is very limited. It is only allowed to be called with socket handles. You cannot use C RTL fd with it or another sort of handle.
Because its part of winsock and not part of the C RTL so it cannot mess with errno itself.
HAVE_SELECT is the first thing tested in floatsleep().
HAVE_SELECT should probably be undefined on windows. With the expection that the sockets module for windows can use it.