Further work towards use of win32 file HANDLEs
Expose the fact that we are working with file handles (not simulated
file descriptors), and directly store those handles in fd-streams.
Represent them as integers (not SAPs) to avoid needless
incompatibilities between POSIX and Windows builds. However, adjust
types so as to remove fixnum assumptions.
Includes some further tweaks to file-related foreign definitions
(and run-program in particular), to remove remaining uses of CRT
when possible.
Does not add any `feature' to help user code distinguish between
this SBCL and versions prior to this change using read-time
conditionals, since the changes are, in principle, not considered
user-visible. (We are now unconditionally running the equivalent of
what is marked #!+fds-are-windows-handles on the Windows branch.)
To avoid breaking any user code that might have learned to retrieve
handles from our streams previously, preserve "osf handle"
conversion functions as trivial identity definitions for a while.
Thanks to Anton Kovalenko.
12 files changed: