<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/thread, branch 1.14.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.14.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.14.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-11-01T17:08:24+00:00</updated>
<entry>
<title>Document reasoning for supporting both fast and OS TLS in the same bin</title>
<updated>2016-11-01T17:08:24+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2016-10-04T18:00:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8b2600dbf9a02a19acc92db5d980986cad2ea38d'/>
<id>urn:sha1:8b2600dbf9a02a19acc92db5d980986cad2ea38d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Move elf TLS to sys::fast_thread_local</title>
<updated>2016-11-01T17:08:24+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2016-09-30T20:13:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=568840707cd5f98a1970a44d632b833439d5312e'/>
<id>urn:sha1:568840707cd5f98a1970a44d632b833439d5312e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Fuchsia support</title>
<updated>2016-10-22T14:08:06+00:00</updated>
<author>
<name>Raph Levien</name>
<email>raph@google.com</email>
</author>
<published>2016-10-18T20:43:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=76bac5d33e09e8ae1b243c045584646431147cce'/>
<id>urn:sha1:76bac5d33e09e8ae1b243c045584646431147cce</id>
<content type='text'>
Adds support for the x86_64-unknown-fuchsia target, which covers the
Fuchsia operating system.
</content>
</entry>
<entry>
<title>Auto merge of #36341 - sagebind:thread_id, r=alexcrichton</title>
<updated>2016-10-10T11:04:51+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-10-10T11:04:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d620843f62b6cf3182528ffcaa877eba461bfbb'/>
<id>urn:sha1:6d620843f62b6cf3182528ffcaa877eba461bfbb</id>
<content type='text'>
Add ThreadId for comparing threads

This adds the capability to store and compare threads with the current calling thread via a new struct, `std::thread::ThreadId`. Addresses the need outlined in issue #21507.

This avoids the need to add any special checks to the existing thread structs and does not rely on the system to provide an identifier for a thread, since it seems that this approach is unreliable and undesirable. Instead, this simply uses a lazily-created, thread-local `usize` whose value is copied from a global atomic counter. The code should be simple enough that it should be as much reliable as the `#[thread_local]` attribute it uses (however much that is).

`ThreadId`s can be compared directly for equality and have copy semantics.

Also see these other attempts:
- rust-lang/rust#29457
- rust-lang/rust#29448
- rust-lang/rust#29447

And this in the RFC repo: rust-lang/rfcs#1435
</content>
</entry>
<entry>
<title>Unlock guard before overflow panic</title>
<updated>2016-10-07T22:45:04+00:00</updated>
<author>
<name>Stephen M. Coakley</name>
<email>me@stephencoakley.com</email>
</author>
<published>2016-10-07T22:45:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=032bffa5b8ae6c3977884c4e10fd6ab6a5dc5ef6'/>
<id>urn:sha1:032bffa5b8ae6c3977884c4e10fd6ab6a5dc5ef6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use mutex to guard thread ID counter</title>
<updated>2016-10-05T23:11:28+00:00</updated>
<author>
<name>Stephen M. Coakley</name>
<email>me@stephencoakley.com</email>
</author>
<published>2016-10-05T23:11:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e80fd2531bbb8d2ca30e4036d7be5bcfcaefb6c0'/>
<id>urn:sha1:e80fd2531bbb8d2ca30e4036d7be5bcfcaefb6c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Generate ID using u64 + atomic spinlock</title>
<updated>2016-10-05T16:34:25+00:00</updated>
<author>
<name>Stephen M. Coakley</name>
<email>me@stephencoakley.com</email>
</author>
<published>2016-10-05T16:34:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=894ef966c631facd13cd0d021acca43e37c8510e'/>
<id>urn:sha1:894ef966c631facd13cd0d021acca43e37c8510e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #36339 - brson:emscripten-new, r=alexcrichton</title>
<updated>2016-10-01T02:00:36+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2016-10-01T02:00:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8b00355119ba0473eae420049f96f5be91be1bab'/>
<id>urn:sha1:8b00355119ba0473eae420049f96f5be91be1bab</id>
<content type='text'>
Working asmjs and wasm targets

This patch set results in a working standard library for the asmjs-unknown-emscripten and wasm32-unknown-emscripten targets. It is based on the work of @badboy and @rschulman.

It does a few things:

- Updates LLVM with the emscripten [fastcomp](https://github.com/rust-lang/llvm/pull/50) patches, which include the pnacl IR legalizer and the asm.js backend. This patch is thought not to have any significant effect on existing targets.
- Teaches rustbuild to correctly link C code with emscripten
- Updates gcc-rs to work correctly with emscripten
- Teaches rustbuild to run crate tests for emscripten with node
- Modifies Thread::new to return an error on emscripten, to facilitate debugging a common failure mode
- Modifies libtest to run in single-threaded mode for emscripten
- Ignores a host of tests that don't work yet, mostly dealing with threads and I/O
- Updates libc with wasm32 definitions (presently the same as asmjs)
- Adds a wasm32-unknown-emscripten target that feeds the output of LLVM's asmjs backend through emcc to generate wasm

Notes and caveats:

- This is only known to work with `--enable-rustbuild`.
- The wasm32 target can't be tested correctly yet because of issues in compiletest and limitations in node https://github.com/kripken/emscripten/issues/4542, but hello.rs does seem to work when run on node via the binaryen interpreter
- This requires an up to date installation of the emscripten sdk from its incoming branch
- Unwinding is very broken
- When enabling the emscripten targets jemalloc is disabled for all targets, which results in test failures for the host

Next steps are to fix the jemalloc issue, start building the two emscripten targets on the auto builders, then start producing nightlies.

https://github.com/rust-lang/rust/issues/36317 tracks work on this.

Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36515
Fixes https://github.com/rust-lang/rust/issues/36356
</content>
</entry>
<entry>
<title>Ignore various entire test modules on emscripten</title>
<updated>2016-09-30T21:02:56+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2016-09-22T20:04:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=096670ca41a2aada11722acf4d0ab35a422448f6'/>
<id>urn:sha1:096670ca41a2aada11722acf4d0ab35a422448f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ignore lots and lots of std tests on emscripten</title>
<updated>2016-09-30T21:02:48+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2016-09-07T05:34:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9c4a01ee9eea6fc50252f08afbf98a91270e9d5e'/>
<id>urn:sha1:9c4a01ee9eea6fc50252f08afbf98a91270e9d5e</id>
<content type='text'>
</content>
</entry>
</feed>
