<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/windows/process2.rs, branch beta</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=beta</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=beta'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-05-07T16:30:00+00:00</updated>
<entry>
<title>std: Rename sys::foo2 modules to sys::foo</title>
<updated>2015-05-07T16:30:00+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-05T23:35:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=377b1adc36af65ed79be2b79a4e1caf240fc457a'/>
<id>urn:sha1:377b1adc36af65ed79be2b79a4e1caf240fc457a</id>
<content type='text'>
Now that `std::old_io` has been removed for quite some time the naming real
estate here has opened up to allow these modules to move back to their proper
names.
</content>
</entry>
<entry>
<title>std: Fix inheriting standard handles on windows</title>
<updated>2015-04-29T15:01:16+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-27T20:44:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c1149edf7a448a89d0f38f2802b3201885e52649'/>
<id>urn:sha1:c1149edf7a448a89d0f38f2802b3201885e52649</id>
<content type='text'>
Currently if a standard I/O handle is set to inherited on Windows, no action is
taken and the slot in the process information description is set to
`INVALID_HANDLE_VALUE`. Due to our passing of `STARTF_USESTDHANDLES`, however,
this means that the handle is actually set to nothing and if a child tries to
print it will generate an error.

This commit fixes this behavior by explicitly creating stdio handles to be
placed in these slots by duplicating the current process's I/O handles. This is
presumably what previously happened silently by using a file-descriptor-based
implementation instead of a `HANDLE`-centric implementation.

Along the way this cleans up a lot of code in `Process::spawn` for Windows by
ensuring destructors are always run, using more RAII, and limiting the scope of
`unsafe` wherever possible.
</content>
</entry>
<entry>
<title>std: Fix process spawn for arguments ending in backslashes on Windows</title>
<updated>2015-04-25T19:35:22+00:00</updated>
<author>
<name>Brad King</name>
<email>brad.king@kitware.com</email>
</author>
<published>2015-04-25T19:35:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e90408e91596da9fd81e77012e74bfe94b26dd83'/>
<id>urn:sha1:e90408e91596da9fd81e77012e74bfe94b26dd83</id>
<content type='text'>
Fix `make_command_line` for the case of backslashes at the end of an
argument requiring quotes.  We must encode the command and arguments
such that `CommandLineToArgvW` recovers them in the spawned process.
Simplify the logic by using a running count of backslashes as they
are encountered instead of looking ahead for quotes following them.

Extend `test_make_command_line` to additionally cover:

* a leading quote in an argument that requires quotes,
* a backslash before a quote in an argument that requires quotes,
* a backslash at the end of an argument that requires quotes, and
* a backslash at the end of an argument that does not require quotes.
</content>
</entry>
<entry>
<title>std: Bring back f32::from_str_radix as an unstable API</title>
<updated>2015-04-21T22:23:54+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-18T06:45:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a568a7f9f2eb3fa3f3e049df288ef0ad32cc7881'/>
<id>urn:sha1:a568a7f9f2eb3fa3f3e049df288ef0ad32cc7881</id>
<content type='text'>
This API was exercised in a few tests and mirrors the `from_str_radix`
functionality of the integer types.
</content>
</entry>
<entry>
<title>Auto merge of #23682 - tamird:DRY-is-empty, r=alexcrichton</title>
<updated>2015-04-16T03:22:21+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2015-04-16T03:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=288809c8f35d9b37f2e4f5c3ac168f56dbc3bbc4'/>
<id>urn:sha1:288809c8f35d9b37f2e4f5c3ac168f56dbc3bbc4</id>
<content type='text'>
r? @alexcrichton 
</content>
</entry>
<entry>
<title>Positive case of `len()` -&gt; `is_empty()`</title>
<updated>2015-04-15T03:26:03+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2015-03-24T23:53:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=29ac04402d53d358a1f6200bea45a301ff05b2d1'/>
<id>urn:sha1:29ac04402d53d358a1f6200bea45a301ff05b2d1</id>
<content type='text'>
`s/(?&lt;!\{ self)(?&lt;=\.)len\(\) == 0/is_empty()/g`
</content>
</entry>
<entry>
<title>std: Remove final usage of fds from Windows</title>
<updated>2015-04-14T20:50:45+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-14T18:17:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5e073293064a227ebf454053c8aa35d7d8bdcf52'/>
<id>urn:sha1:5e073293064a227ebf454053c8aa35d7d8bdcf52</id>
<content type='text'>
This commit removes the last remnants of file descriptors from the Windows
implementation of `std::sys` by using `CreatePipe` to create anonymous pipes
instead of the `pipe` shim provided in msvcrt.
</content>
</entry>
<entry>
<title>std: Unconditionally close all file descriptors</title>
<updated>2015-04-10T08:03:38+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-03T22:44:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eadc3bcd676277d72c211bde6c20f7036339fd84'/>
<id>urn:sha1:eadc3bcd676277d72c211bde6c20f7036339fd84</id>
<content type='text'>
The logic for only closing file descriptors &gt;= 3 was inherited from quite some
time ago and ends up meaning that some internal APIs are less consistent than
they should be. By unconditionally closing everything entering a `FileDesc` we
ensure that we're consistent in our behavior as well as robustly handling the
stdio case.
</content>
</entry>
<entry>
<title>Test fixes and rebase conflicts</title>
<updated>2015-04-01T07:36:26+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-01T01:59:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8dff0ac143a689b7a1e04e55273d3f006b8369d1'/>
<id>urn:sha1:8dff0ac143a689b7a1e04e55273d3f006b8369d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove IteratorExt</title>
<updated>2015-03-28T20:53:45+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2015-03-12T05:41:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d502f4221fd5472c4a7905cdc3c59533e9612822'/>
<id>urn:sha1:d502f4221fd5472c4a7905cdc3c59533e9612822</id>
<content type='text'>
All methods are inlined into Iterator with `Self: Sized` bounds to make
sure Iterator is still object safe.

[breaking-change]
</content>
</entry>
</feed>
