You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As reported here, if one of the stdio handles for a Windows process is unset (e.g. isn't present) then you won't actually be able to spawn a process by default. All handles are set, by default, to "inherit", but this currently means duplicate the existing handle, which in turn means that if the stdio handle isn't present this operation will fail.
Rust currently defends against this by always opening up handles even if Stdio::null() is specified (just pointing them to a blank stream), but Rust should also defend against this situation when it was spawned from elsewhere.
The text was updated successfully, but these errors were encountered:
On all platforms, reading from stdin where the actual stdin isn't present should
return 0 bytes as having been read rather than the entire buffer.
On Windows, handle the case where we're inheriting stdio handles but one of them
isn't present. Currently the behavior is to fail returning an I/O error but
instead this commit corrects it to detecting this situation and propagating the
non-set handle.
Closesrust-lang#31167
On all platforms, reading from stdin where the actual stdin isn't present should
return 0 bytes as having been read rather than the entire buffer.
On Windows, handle the case where we're inheriting stdio handles but one of them
isn't present. Currently the behavior is to fail returning an I/O error but
instead this commit corrects it to detecting this situation and propagating the
non-set handle.
Closesrust-lang#31167
As reported here, if one of the stdio handles for a Windows process is unset (e.g. isn't present) then you won't actually be able to spawn a process by default. All handles are set, by default, to "inherit", but this currently means duplicate the existing handle, which in turn means that if the stdio handle isn't present this operation will fail.
Rust currently defends against this by always opening up handles even if
Stdio::null()
is specified (just pointing them to a blank stream), but Rust should also defend against this situation when it was spawned from elsewhere.The text was updated successfully, but these errors were encountered: