Commit [ed1910] Maximize Restore History

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.

David Lichteblau David Lichteblau 2012-11-05

added src/code/warm-mswin.lisp
changed contrib/sb-bsd-sockets/win32-sockets.lisp
changed contrib/sb-simple-streams/file.lisp
changed contrib/sb-simple-streams/internal.lisp
changed src/code/fd-stream.lisp
changed src/code/run-program.lisp
changed src/code/serve-event.lisp
changed src/code/unix.lisp
changed src/code/win32.lisp
changed src/cold/warm.lisp
changed src/runtime/win32-os.c
changed package-data-list.lisp-expr
src/code/warm-mswin.lisp Diff Switch to side-by-side view
Loading...
contrib/sb-bsd-sockets/win32-sockets.lisp Diff Switch to side-by-side view
Loading...
contrib/sb-simple-streams/file.lisp Diff Switch to side-by-side view
Loading...
contrib/sb-simple-streams/internal.lisp Diff Switch to side-by-side view
Loading...
src/code/fd-stream.lisp Diff Switch to side-by-side view
Loading...
src/code/run-program.lisp Diff Switch to side-by-side view
Loading...
src/code/serve-event.lisp Diff Switch to side-by-side view
Loading...
src/code/unix.lisp Diff Switch to side-by-side view
Loading...
src/code/win32.lisp Diff Switch to side-by-side view
Loading...
src/cold/warm.lisp Diff Switch to side-by-side view
Loading...
src/runtime/win32-os.c Diff Switch to side-by-side view
Loading...
package-data-list.lisp-expr Diff Switch to side-by-side view
Loading...