Dan Gohman
e102c2a3f2
Fix Windows compilation errors.
2021-09-09 15:46:48 -07:00
Dan Gohman
3b97481387
Fix assertion failures in OwnedHandle with windows_subsystem.
...
As discussed in #88576 , raw handle values in Windows can be null, such
as in `windows_subsystem` mode, or when consoles are detached from a
process. So, don't use `NonNull` to hold them, don't assert that they're
not null, and remove `OwnedHandle`'s `repr(transparent)`. Introduce a
new `HandleOrNull` type, similar to `HandleOrInvalid`, to cover the FFI
use case.
2021-09-09 15:20:05 -07:00
Chris Denton
2d95b5bce7
Document when to use Windows' symlink_dir vs. symlink_file
...
It was previously unclear which should be used when.
2021-09-04 19:22:34 +01:00
Frank Steffahn
bf88b113ea
Fix typos “a”→“an”
2021-08-22 15:35:11 +02:00
Dan Gohman
b4dfa198bf
Fix doc test failures on Windows.
2021-08-19 16:15:29 -07:00
Dan Gohman
e555003e6d
Factor out a common RawFd/AsRawFd/etc for Unix and WASI.
2021-08-19 13:27:19 -07:00
Dan Gohman
187ee5c824
Add I/O safety trait impls for process::Stdio and process::Child.
2021-08-19 12:02:41 -07:00
Dan Gohman
1ae1eeec25
Rename OptionFileHandle to HandleOrInvalid and make it just wrap an Option<OwnedHandle>
...
The name (and updated documentation) make the FFI-only usage clearer, and wrapping Option<OwnedHandle> avoids the need to write a separate Drop or Debug impl.
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19 12:02:40 -07:00
Dan Gohman
18a9f4628a
Don't encourage migration until io_safety is stablized.
2021-08-19 12:02:40 -07:00
Dan Gohman
907f00be30
Add more comments about the INVALID_HANDLE_VALUE situation.
2021-08-19 12:02:40 -07:00
Dan Gohman
6d7211738d
Add Safety comments to the As* for Owned* implementations.
2021-08-19 12:02:40 -07:00
Dan Gohman
6486f89cbc
Add Owned*, Borrowed*, and As* to the preludes.
2021-08-19 12:02:39 -07:00
Dan Gohman
0cb69dec57
Rename OwnedFd's private field to match it's debug output.
2021-08-19 12:02:39 -07:00
Dan Gohman
45b5de3376
Delete a spurious empty comment line.
2021-08-19 12:02:39 -07:00
Dan Gohman
926344a80f
Add a comment about how OwnedHandle should not be used with registry handles.
2021-08-19 12:02:39 -07:00
Dan Gohman
31f7bf8271
Add a comment about OptionFileHandle.
2021-08-19 12:02:39 -07:00
Dan Gohman
1c6bf04edb
Update library/std/src/os/windows/io/socket.rs
...
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19 12:02:39 -07:00
Dan Gohman
a23ca7ceb1
Update library/std/src/os/windows/io/handle.rs
...
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-08-19 12:02:39 -07:00
Dan Gohman
d15418586c
I/O safety.
...
Introduce `OwnedFd` and `BorrowedFd`, and the `AsFd` trait, and
implementations of `AsFd`, `From<OwnedFd>` and `From<T> for OwnedFd`
for relevant types, along with Windows counterparts for handles and
sockets.
Tracking issue:
- <https://github.com/rust-lang/rust/issues/87074 >
RFC:
- <https://github.com/rust-lang/rfcs/blob/master/text/3128-io-safety.md >
2021-08-19 12:02:39 -07:00
Kornel
8f9d0f12eb
Use AsRef in CommandExt for raw_arg
2021-07-09 14:09:48 +01:00
Kornel
d868da7796
Unescaped command-line arguments for Windows
...
Fixes #29494
2021-07-09 14:09:48 +01:00
Christiaan Dirkx
ffc20e48de
Move std::sys::windows::ext to std::os::windows
2021-05-03 16:56:20 +02:00