<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/thread, branch 1.29.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.29.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.29.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2018-07-28T08:24:59+00:00</updated>
<entry>
<title>Rollup merge of #52759 - stjepang:impl-send-sync-for-joinhandle, r=TimNN</title>
<updated>2018-07-28T08:24:59+00:00</updated>
<author>
<name>kennytm</name>
<email>kennytm@gmail.com</email>
</author>
<published>2018-07-28T08:24:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b326319f156dc1aea0b3389eeee4e8ef1b073c2a'/>
<id>urn:sha1:b326319f156dc1aea0b3389eeee4e8ef1b073c2a</id>
<content type='text'>
Impl Send &amp; Sync for JoinHandle

This is just a cosmetic change - it slightly relaxes and clarifies the public API without effectively promising any new guarantees.

Currently we have [these auto trait implementations](https://doc.rust-lang.org/nightly/std/thread/struct.JoinHandle.html#synthetic-implementations):

```rust
impl&lt;T: Send&gt; Send for JoinHandle&lt;T&gt; {}
impl&lt;T: Sync&gt; Sync for JoinHandle&lt;T&gt; {}
```

Bound `T: Send` doesn't make much sense because `JoinHandle&lt;T&gt;` can be created only when `T: Send`. Note that [`JoinHandle::&lt;T&gt;::join`](https://doc.rust-lang.org/nightly/std/thread/struct.JoinHandle.html#method.join) doesn't require `T: Send` so why should the `Send` impl?

And the `Sync` impl doesn't need `T: Sync` because `JoinHandle&lt;T&gt;` cannot even share `T` - it can only send it to the thread that calls `join`.
</content>
</entry>
<entry>
<title>Add stability attributes</title>
<updated>2018-07-27T08:08:02+00:00</updated>
<author>
<name>Stjepan Glavina</name>
<email>stjepang@gmail.com</email>
</author>
<published>2018-07-27T08:08:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=688db1df80b9754c28b79abb141e381861402fca'/>
<id>urn:sha1:688db1df80b9754c28b79abb141e381861402fca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Impl Send &amp; Sync for JoinHandle</title>
<updated>2018-07-26T23:08:13+00:00</updated>
<author>
<name>Stjepan Glavina</name>
<email>stjepang@gmail.com</email>
</author>
<published>2018-07-26T23:08:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=89a81625f4e4e0a065524e1a6c5b4d03289347ea'/>
<id>urn:sha1:89a81625f4e4e0a065524e1a6c5b4d03289347ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add missing dyn in tests</title>
<updated>2018-07-11T07:11:39+00:00</updated>
<author>
<name>ljedrz</name>
<email>ljedrz@gmail.com</email>
</author>
<published>2018-07-11T07:11:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1915cd1dc2d5ea66d322d52958271b8072ec4c97'/>
<id>urn:sha1:1915cd1dc2d5ea66d322d52958271b8072ec4c97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deny bare trait objects in `src/libstd`.</title>
<updated>2018-07-10T18:35:36+00:00</updated>
<author>
<name>ljedrz</name>
<email>ljedrz@gmail.com</email>
</author>
<published>2018-07-10T18:35:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=560d8079ec26f2a45ecb80e95d24917025e02104'/>
<id>urn:sha1:560d8079ec26f2a45ecb80e95d24917025e02104</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #51290 - Pslydhh:master, r=alexcrichton</title>
<updated>2018-06-29T07:34:13+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2018-06-29T07:34:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2eb6969c6a2efba9e59544bc18b4d96a9f2b2504'/>
<id>urn:sha1:2eb6969c6a2efba9e59544bc18b4d96a9f2b2504</id>
<content type='text'>
park/park_timeout: prohibit spurious wakeups in next park

&lt;pre&gt;&lt;code&gt;
// The implementation currently uses the trivial strategy of a Mutex+Condvar
// with wakeup flag, which does not actually allow spurious wakeups.
&lt;/pre&gt;&lt;/code&gt;

Because does not actually allow spurious wakeups.
so we have let thread.inner.cvar.wait(m) in the loop to prohibit spurious wakeups.
but if notified after we locked, this notification doesn't be consumed, it return, the next park will consume this notification...this is also 'spurious wakeup' case, 'one unpark() wakeups two  park()'.

We should improve this situation：
`thread.inner.state.store(EMPTY, SeqCst);`
</content>
</entry>
<entry>
<title>Fix the error reference for LocalKey::try_with</title>
<updated>2018-06-27T05:13:28+00:00</updated>
<author>
<name>Michal 'vorner' Vaner</name>
<email>vorner@vorner.cz</email>
</author>
<published>2018-06-26T20:58:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=771748d0ba2fd956a5bddaa2c265115c47f49343'/>
<id>urn:sha1:771748d0ba2fd956a5bddaa2c265115c47f49343</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libstd: add an RAII utility for sys_common::mutex::Mutex</title>
<updated>2018-06-17T07:18:32+00:00</updated>
<author>
<name>NODA, Kai</name>
<email>nodakai@gmail.com</email>
</author>
<published>2018-06-09T13:13:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b81da278623d9dcda1776008612bd42e1922e9c3'/>
<id>urn:sha1:b81da278623d9dcda1776008612bd42e1922e9c3</id>
<content type='text'>
Signed-off-by: NODA, Kai &lt;nodakai@gmail.com&gt;
</content>
</entry>
<entry>
<title>removes tabs</title>
<updated>2018-06-02T07:59:54+00:00</updated>
<author>
<name>Pslydhh</name>
<email>luouyuyou@gmail.com</email>
</author>
<published>2018-06-02T07:59:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b352d2d167f1de4ed8a6da3405dc90fe9d646204'/>
<id>urn:sha1:b352d2d167f1de4ed8a6da3405dc90fe9d646204</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove trailing whitespace</title>
<updated>2018-06-02T07:36:23+00:00</updated>
<author>
<name>Pslydhh</name>
<email>luouyuyou@gmail.com</email>
</author>
<published>2018-06-02T07:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=151e41ff0c2769b5bc9f0d37ae37136fb4fcb7e0'/>
<id>urn:sha1:151e41ff0c2769b5bc9f0d37ae37136fb4fcb7e0</id>
<content type='text'>
remove trailing whitespace</content>
</entry>
</feed>
