<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/unix/fd.rs, branch 1.2.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.2.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-05-08T00:25:04+00:00</updated>
<entry>
<title>std: Mark `mem::forget` as a safe function</title>
<updated>2015-05-08T00:25:04+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-07T17:49:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dd59b1fb4c66089c10b7e189975aeb171085312e'/>
<id>urn:sha1:dd59b1fb4c66089c10b7e189975aeb171085312e</id>
<content type='text'>
This commit is an implementation of [RFC 1066][rfc] where the conclusion was
that leaking a value is a safe operation in Rust code, so updating the signature
of this function follows suit.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1066-safe-mem-forget.md

Closes #25186
</content>
</entry>
<entry>
<title>pluralize doc comment verbs and add missing periods</title>
<updated>2015-04-13T17:57:51+00:00</updated>
<author>
<name>Andrew Paseltiner</name>
<email>apaseltiner@gmail.com</email>
</author>
<published>2015-04-13T14:21:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fa16d6a473415415cb87a1fe6754aace32cbb1c'/>
<id>urn:sha1:6fa16d6a473415415cb87a1fe6754aace32cbb1c</id>
<content type='text'>
</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>std: Set CLOEXEC for all fds opened on unix</title>
<updated>2015-04-10T00:07:02+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-03T22:30:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d6c72306c8fc2ec0fd9d6e499c32f2bf52f0b8ba'/>
<id>urn:sha1:d6c72306c8fc2ec0fd9d6e499c32f2bf52f0b8ba</id>
<content type='text'>
This commit starts to set the CLOEXEC flag for all files and sockets opened by
the standard library by default on all unix platforms. There are a few points of
note in this commit:

* The implementation is not 100% satisfactory in the face of threads. File
  descriptors only have the `F_CLOEXEC` flag set *after* they are opened,
  allowing for a fork/exec to happen in the middle and leak the descriptor.
  Some platforms do support atomically opening a descriptor while setting the
  `CLOEXEC` flag, and it is left as a future extension to bind these apis as it
  is unclear how to do so nicely at this time.

* The implementation does not offer a method of opting into the old behavior of
  not setting `CLOEXEC`. This will possibly be added in the future through
  extensions on `OpenOptions`, for example.

* This change does not yet audit any Windows APIs to see if the handles are
  inherited by default by accident.

This is a breaking change for users who call `fork` or `exec` outside of the
standard library itself and expect file descriptors to be inherted. All file
descriptors created by the standard library will no longer be inherited.

[breaking-change]
</content>
</entry>
<entry>
<title>std: Remove #[allow] directives in sys modules</title>
<updated>2015-03-12T17:23:27+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-10T03:04:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c933d44f7bb908aa520250b608f85bfacfccc337'/>
<id>urn:sha1:c933d44f7bb908aa520250b608f85bfacfccc337</id>
<content type='text'>
These were suppressing lots of interesting warnings! Turns out there was also
quite a bit of dead code.
</content>
</entry>
<entry>
<title>std: Add a `net` module for TCP/UDP</title>
<updated>2015-02-11T23:23:34+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-06T00:50:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=395709ca6d39ba1e095e404e1d2a169d918b7f0c'/>
<id>urn:sha1:395709ca6d39ba1e095e404e1d2a169d918b7f0c</id>
<content type='text'>
This commit is an implementation of [RFC 807][rfc] which adds a `std::net`
module for basic neworking based on top of `std::io`. This module serves as a
replacement for the `std::old_io::net` module and networking primitives in
`old_io`.

[rfc]: fillmein

The major focus of this redesign is to cut back on the level of abstraction to
the point that each of the networking types is just a bare socket. To this end
functionality such as timeouts and cloning has been removed (although cloning
can be done through `duplicate`, it may just yield an error).

With this `net` module comes a new implementation of `SocketAddr` and `IpAddr`.
This work is entirely based on #20785 and the only changes were to alter the
in-memory representation to match the `libc`-expected variants and to move from
public fields to accessors.
</content>
</entry>
<entry>
<title>std: Add a new `fs` module</title>
<updated>2015-02-10T02:43:12+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-03T05:39:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6bfbad937bdf578e35777d079f8dcfab49758041'/>
<id>urn:sha1:6bfbad937bdf578e35777d079f8dcfab49758041</id>
<content type='text'>
This commit is an implementation of [RFC 739][rfc] which adds a new `std::fs`
module to the standard library. This module provides much of the same
functionality as `std::old_io::fs` but it has many tweaked APIs as well as uses
the new `std::path` module.

[rfc]: https://github.com/rust-lang/rfcs/pull/739
</content>
</entry>
</feed>
