<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/task/mod.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2013-12-25T03:59:52+00:00</updated>
<entry>
<title>green: Rip the bandaid off, introduce libgreen</title>
<updated>2013-12-25T03:59:52+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-12-13T02:01:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=51abdee5f1ad932671350fdd8a7911fe144d08b8'/>
<id>urn:sha1:51abdee5f1ad932671350fdd8a7911fe144d08b8</id>
<content type='text'>
This extracts everything related to green scheduling from libstd and introduces
a new libgreen crate. This mostly involves deleting most of std::rt and moving
it to libgreen.

Along with the movement of code, this commit rearchitects many functions in the
scheduler in order to adapt to the fact that Local::take now *only* works on a
Task, not a scheduler. This mostly just involved threading the current green
task through in a few locations, but there were one or two spots where things
got hairy.

There are a few repercussions of this commit:

* tube/rc have been removed (the runtime implementation of rc)
* There is no longer a "single threaded" spawning mode for tasks. This is now
  encompassed by 1:1 scheduling + communication. Convenience methods have been
  introduced that are specific to libgreen to assist in the spawning of pools of
  schedulers.
</content>
</entry>
<entry>
<title>std: silence warnings when compiling test.</title>
<updated>2013-12-19T14:26:03+00:00</updated>
<author>
<name>Huon Wilson</name>
<email>dbau.pp+github@gmail.com</email>
</author>
<published>2013-12-19T14:12:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c00104f36a1dd6aad318d410ffa41b9ec531880a'/>
<id>urn:sha1:c00104f36a1dd6aad318d410ffa41b9ec531880a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fallout of rewriting std::comm</title>
<updated>2013-12-17T01:47:11+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-12-06T02:19:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=529e268ab900f1b6e731af64ce2aeecda3555f4e'/>
<id>urn:sha1:529e268ab900f1b6e731af64ce2aeecda3555f4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>librustuv: RAII-ify `Local::borrow`, and remove some 12 Cells.</title>
<updated>2013-12-10T23:13:12+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-12-04T03:18:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7cac9fe76349120ea2373f3ce47a561271b5e8b6'/>
<id>urn:sha1:7cac9fe76349120ea2373f3ce47a561271b5e8b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libextra: Another round of de-`Cell`-ing.</title>
<updated>2013-12-10T23:13:12+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-12-04T00:44:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=786dea207d5b891d37e596e96dd2f84c4cb59f49'/>
<id>urn:sha1:786dea207d5b891d37e596e96dd2f84c4cb59f49</id>
<content type='text'>
34 uses of `Cell` remain.
</content>
</entry>
<entry>
<title>librustc: Make `||` lambdas not infer to `proc`s</title>
<updated>2013-11-26T16:25:27+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-22T07:36:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=749ee53c6d23ae1467568d6e0280a4f59e4e952b'/>
<id>urn:sha1:749ee53c6d23ae1467568d6e0280a4f59e4e952b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: Remove non-procedure uses of `do` from compiletest, libstd tests,</title>
<updated>2013-11-26T16:25:27+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-22T01:23:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f571e46ddb696d15a8cc912309714ca74f23dcc4'/>
<id>urn:sha1:f571e46ddb696d15a8cc912309714ca74f23dcc4</id>
<content type='text'>
compile-fail tests, run-fail tests, and run-pass tests.
</content>
</entry>
<entry>
<title>libstd: Remove all non-`proc` uses of `do` from libstd</title>
<updated>2013-11-26T16:23:57+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-20T22:17:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1eca34de7dd55719cd83153994e5caf2027f62a2'/>
<id>urn:sha1:1eca34de7dd55719cd83153994e5caf2027f62a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove linked failure from the runtime</title>
<updated>2013-11-25T05:21:12+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-11-22T00:55:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=acca9e3834842ee8d8104abe9b8b9bb88861793c'/>
<id>urn:sha1:acca9e3834842ee8d8104abe9b8b9bb88861793c</id>
<content type='text'>
The reasons for doing this are:

* The model on which linked failure is based is inherently complex
* The implementation is also very complex, and there are few remaining who
  fully understand the implementation
* There are existing race conditions in the core context switching function of
  the scheduler, and possibly others.
* It's unclear whether this model of linked failure maps well to a 1:1 threading
  model

Linked failure is often a desired aspect of tasks, but we would like to take a
much more conservative approach in re-implementing linked failure if at all.

Closes #8674
Closes #8318
Closes #8863
</content>
</entry>
<entry>
<title>libstd: Change all uses of `&amp;fn(A)-&gt;B` over to `|A|-&gt;B` in libstd</title>
<updated>2013-11-19T20:40:19+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-19T05:15:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1946265e1a1a32eb922846f314657a4aa7eb1d23'/>
<id>urn:sha1:1946265e1a1a32eb922846f314657a4aa7eb1d23</id>
<content type='text'>
</content>
</entry>
</feed>
