<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/windows/thread.rs, branch 1.5.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.5.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.5.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-08-11T22:11:13+00:00</updated>
<entry>
<title>Register new snapshots</title>
<updated>2015-08-11T22:11:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-08-11T21:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=938099a7ebccbad2a2cad58d71df316d5ccd512c'/>
<id>urn:sha1:938099a7ebccbad2a2cad58d71df316d5ccd512c</id>
<content type='text'>
* Lots of core prelude imports removed
* Makefile support for MSVC env vars and Rust crates removed
* Makefile support for morestack removed
</content>
</entry>
<entry>
<title>Remove morestack support</title>
<updated>2015-08-10T23:35:44+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-27T20:41:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a3fdfbf674a08b7f6fd32c9124e52924a2f9a1c'/>
<id>urn:sha1:7a3fdfbf674a08b7f6fd32c9124e52924a2f9a1c</id>
<content type='text'>
This commit removes all morestack support from the compiler which entails:

* Segmented stacks are no longer emitted in codegen.
* We no longer build or distribute libmorestack.a
* The `stack_exhausted` lang item is no longer required

The only current use of the segmented stack support in LLVM is to detect stack
overflow. This is no longer really required, however, because we already have
guard pages for all threads and registered signal handlers watching for a
segfault on those pages (to print out a stack overflow message). Additionally,
major platforms (aka Windows) already don't use morestack.

This means that Rust is by default less likely to catch stack overflows because
if a function takes up more than one page of stack space it won't hit the guard
page. This is what the purpose of morestack was (to catch this case), but it's
better served with stack probes which have more cross platform support and no
runtime support necessary. Until LLVM supports this for all platform it looks
like morestack isn't really buying us much.

cc #16012 (still need stack probes)
Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
</content>
</entry>
<entry>
<title>syntax: Don't assume `std` exists for tests</title>
<updated>2015-08-04T21:02:36+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-30T15:53:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0d8340327c03f319b49cb91e2e64aa66dd1e76c7'/>
<id>urn:sha1:0d8340327c03f319b49cb91e2e64aa66dd1e76c7</id>
<content type='text'>
This commit removes the injection of `std::env::args()` from `--test` expanded
code, relying on the test runner itself to call this funciton. This is more
hygienic because we can't assume that `std` exists at the top layer all the
time, and it meaks the injected test module entirely self contained.
</content>
</entry>
<entry>
<title>syntax: Implement #![no_core]</title>
<updated>2015-08-04T00:23:01+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-30T00:01:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5cccf3cd256420d9f32c265e83036dea1d5f94d8'/>
<id>urn:sha1:5cccf3cd256420d9f32c265e83036dea1d5f94d8</id>
<content type='text'>
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184
</content>
</entry>
<entry>
<title>std: Be resilient to failure in pthread_getattr_np</title>
<updated>2015-07-21T16:18:30+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-16T18:59:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d68b152c3e2feb6ee18bdf2c992098376dbb528c'/>
<id>urn:sha1:d68b152c3e2feb6ee18bdf2c992098376dbb528c</id>
<content type='text'>
This can fail on linux for various reasons, such as the /proc filesystem not
being mounted. There are already many cases where we can't set up stack guards,
so just don't worry about this case and communicate that no guard was enabled.

I've confirmed that this allows the compiler to run in a chroot without /proc
mounted.

Closes #22642
</content>
</entry>
<entry>
<title>std: Redesign Duration, implementing RFC 1040</title>
<updated>2015-05-14T00:50:58+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-28T18:40:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=556e76bb78cdd1d951e3966b2264ef8567371881'/>
<id>urn:sha1:556e76bb78cdd1d951e3966b2264ef8567371881</id>
<content type='text'>
This commit is an implementation of [RFC 1040][rfc] which is a redesign of the
currently-unstable `Duration` type. The API of the type has been scaled back to
be more conservative and it also no longer supports negative durations.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1040-duration-reform.md

The inner `duration` module of the `time` module has now been hidden (as
`Duration` is reexported) and the feature name for this type has changed from
`std_misc` to `duration`. All APIs accepting durations have also been audited to
take a more flavorful feature name instead of `std_misc`.

Closes #24874
</content>
</entry>
<entry>
<title>std: Audit std::thread implementations</title>
<updated>2015-04-22T17:42:33+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-15T05:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2e1100997863c4951371cf39554c53266cacb37d'/>
<id>urn:sha1:2e1100997863c4951371cf39554c53266cacb37d</id>
<content type='text'>
Much of this code hasn't been updated in quite some time and this commit does a
small audit of the functionality:

* Implementation functions now centralize all functionality on a locally defined
  `Thread` type.
* The `detach` method has been removed in favor of a `Drop` implementation. This
  notably fixes leaking thread handles on Windows.
* The `Thread` structure is now appropriately annotated with `Send` and `Sync`
  automatically on Windows and in a custom fashion on Unix.
* The unsafety of creating a thread has been pushed out to the right boundaries
  now.

Closes #24442
</content>
</entry>
<entry>
<title>Mass rename uint/int to usize/isize</title>
<updated>2015-03-26T19:10:22+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-26T00:06:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=43bfaa4a336095eb5697fb2df50909fd3c72ed14'/>
<id>urn:sha1:43bfaa4a336095eb5697fb2df50909fd3c72ed14</id>
<content type='text'>
Now that support has been removed, all lingering use cases are renamed.
</content>
</entry>
<entry>
<title>std: Implement `thread::sleep`</title>
<updated>2015-03-17T16:34:42+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-13T03:36:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=04cf5344111c357ad80335b88709281bb4bfaa0a'/>
<id>urn:sha1:04cf5344111c357ad80335b88709281bb4bfaa0a</id>
<content type='text'>
This function is the current replacement for `std::old_io::timer` which will
soon be deprecated. This function is unstable and has its own feature gate as it
does not yet have an RFC nor has it existed for very long.
</content>
</entry>
<entry>
<title>std: Clean up the sys::thread modules</title>
<updated>2015-03-15T17:35:48+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-13T03:21:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=970baad714d4119e5f93647163f197c9474d6ace'/>
<id>urn:sha1:970baad714d4119e5f93647163f197c9474d6ace</id>
<content type='text'>
This module had become a #[cfg] jungle, try to bring at least a small semblance
of order to it!
</content>
</entry>
</feed>
