<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/unix/time.rs, branch 1.44.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.44.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.44.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-02-02T08:08:46+00:00</updated>
<entry>
<title>Strip unnecessary subexpression</title>
<updated>2020-02-02T08:08:46+00:00</updated>
<author>
<name>Friedrich von Never</name>
<email>friedrich@fornever.me</email>
</author>
<published>2020-02-02T08:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b0a9e949e7afc1a77b6f73a0d3fa6b6081763a57'/>
<id>urn:sha1:b0a9e949e7afc1a77b6f73a0d3fa6b6081763a57</id>
<content type='text'>
It became unnecessary since a06baa56b95674fc626b3c3fd680d6a65357fe60 reformatted the file.</content>
</entry>
<entry>
<title>Format the world</title>
<updated>2019-12-22T22:42:47+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2019-12-22T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a06baa56b95674fc626b3c3fd680d6a65357fe60'/>
<id>urn:sha1:a06baa56b95674fc626b3c3fd680d6a65357fe60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>redesign of the interface to the unikernel HermitCore</title>
<updated>2019-10-06T15:26:14+00:00</updated>
<author>
<name>Stefan Lankes</name>
<email>slankes@eonerc.rwth-aachen.de</email>
</author>
<published>2019-10-06T15:26:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c1e440a90f472468c8069ba6254b23c6feedc32e'/>
<id>urn:sha1:c1e440a90f472468c8069ba6254b23c6feedc32e</id>
<content type='text'>
- the old interface between HermitCore and the Rust Standard Library
  based on a small C library (newlib)
- remove this interface and call directly the unikernel
- remove the dependency to the HermitCore linker
- use rust-lld as linker
</content>
</entry>
<entry>
<title>Add Fuchsia to actually_monotonic</title>
<updated>2019-09-05T23:44:22+00:00</updated>
<author>
<name>Taylor Cramer</name>
<email>cramertj@google.com</email>
</author>
<published>2019-09-05T23:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bb1e42599d0062b9a43e83b5486d61eb1fcf0771'/>
<id>urn:sha1:bb1e42599d0062b9a43e83b5486d61eb1fcf0771</id>
<content type='text'>
Fuchsia provides a fully monotonic clock.
</content>
</entry>
<entry>
<title>Remove mach dependency</title>
<updated>2019-08-01T15:01:33+00:00</updated>
<author>
<name>gnzlbg</name>
<email>gonzalobg88@gmail.com</email>
</author>
<published>2019-06-21T15:35:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=74dc2b6f6fc80dcb0d394949b9d7010009fc4bed'/>
<id>urn:sha1:74dc2b6f6fc80dcb0d394949b9d7010009fc4bed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update libc and use the Mach kernel APIs via the mach crate instead.</title>
<updated>2019-08-01T15:01:33+00:00</updated>
<author>
<name>gnzlbg</name>
<email>gonzalobg88@gmail.com</email>
</author>
<published>2019-05-31T11:50:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9ea83f9732d7a15467bed88d4a996487713c70d4'/>
<id>urn:sha1:9ea83f9732d7a15467bed88d4a996487713c70d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Avoid usage of `Once` in `Instant`</title>
<updated>2019-04-04T14:19:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-04-03T19:18:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cb57484dcaeb4881c73f8a1174d4d5661ca2bbe2'/>
<id>urn:sha1:cb57484dcaeb4881c73f8a1174d4d5661ca2bbe2</id>
<content type='text'>
This commit removes usage of `Once` from the internal implementation of
time utilities on OSX and Windows. It turns out that we accidentally hit
a deadlock today (#59020) via events that look like:

* A thread invokes `park_timeout`
* Internally, only on OSX, `park_timeout` calls `Instant::elapsed`
* Inside of `Instant::elapsed` on OSX we enter a `Once` to initialize
  global timer data
* Inside of `Once`, it attempts to `park`

This means on the same stack frame, when there's contention, we're
calling `park` from inside `park_timeout`, causing a deadlock!

The solution implemented in this commit was to remove usage of `Once`
and instead just do a small dance with atomics. There's no real need we
need to guarantee that the global information is only learned once, only
that it's only *stored* once. This implementation may have multiple
threads invoke `mach_timebase_info`, but only one will store the global
information which will amortize the cost for all other threads.

A similar fix has been applied to windows to be uniform across our
implementations, but looking at the code on Windows no deadlock was
possible. This is purely just a consistency update for Windows and in
theory a slightly leaner implementation.

Closes #59020
</content>
</entry>
<entry>
<title>libstd: deny(elided_lifetimes_in_paths)</title>
<updated>2019-03-31T10:56:51+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-03-01T08:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=379c380a60e7b3adb6c6f595222cbfa2d9160a20'/>
<id>urn:sha1:379c380a60e7b3adb6c6f595222cbfa2d9160a20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update sys::time impls to have checked_sub_instant</title>
<updated>2019-03-22T22:56:40+00:00</updated>
<author>
<name>Linus Färnstrand</name>
<email>faern@faern.net</email>
</author>
<published>2019-03-22T21:14:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ccad16231f58b09f127e679d54162acbc2f0dae'/>
<id>urn:sha1:1ccad16231f58b09f127e679d54162acbc2f0dae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libstd =&gt; 2018</title>
<updated>2019-02-27T19:06:15+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2019-02-10T19:23:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93b6d9e086c6910118a57e4332c9448ab550931f'/>
<id>urn:sha1:93b6d9e086c6910118a57e4332c9448ab550931f</id>
<content type='text'>
</content>
</entry>
</feed>
