Eric Holk
6535da8417
Tighten pipe exports, and refactor traits.
2012-07-25 12:12:25 -07:00
Ben Blum
d9e8efca19
Handle notification channels in task.rs
2012-07-25 13:22:43 -04:00
Niko Matsakis
3bcd973419
from_fn and ref_set do not require copy bound
2012-07-25 05:45:52 -07:00
Niko Matsakis
f061560ce4
range() is pure
2012-07-25 05:45:52 -07:00
Ben Blum
a038d272b0
rust_cond_lock acquire/release should be inside the atomically { .. }
2012-07-24 20:28:30 -04:00
Ben Blum
bb5db3bc8a
Add 2-degree familial relations linked failure tests & fix secondborn behaviour
2012-07-24 20:21:20 -04:00
Graydon Hoare
fada46c421
Add core::hash containing SipHash-2-4 implementation. Re: #1616 and #859 .
2012-07-24 17:11:13 -07:00
Ben Blum
695ab09899
Change yield() and wait_event() to be MUST_CHECK and return the killed flag. ( closes #2875 )
2012-07-24 18:24:24 -04:00
Ben Blum
f42a5a1acd
Remove unsupervise
2012-07-24 17:31:43 -04:00
Ben Blum
c0abe69993
task.rs remove old builder interface
2012-07-24 17:27:34 -04:00
Ben Blum
be3a71a1aa
Add option::unwrap_expect
2012-07-24 17:27:34 -04:00
Graydon Hoare
160ffb0c2f
Fix more windows breakage.
2012-07-24 14:08:34 -07:00
Graydon Hoare
b91da0945d
Fix windows breakage.
2012-07-24 13:55:27 -07:00
Graydon Hoare
539a160bb7
Merge pull request #3003 from elliottslaughter/free-cant-fail
...
Don't emit invoke instructions inside landing pads.
2012-07-24 13:49:24 -07:00
Graydon Hoare
a63e0e47f0
Update some str functions to slices, merge as_buf and unpack_slice.
2012-07-24 12:35:52 -07:00
Ben Blum
ae094a7adc
Add 'do atomically { .. }' for exclusives
2012-07-24 15:28:35 -04:00
Elliott Slaughter
c341eb9052
Don't emit invoke instructions inside landing pads.
...
We can't throw an exception from inside a landing pad without
corrupting the exception handler, so we have no hope of dealing with
these exceptions anyway. See:
http://llvm.org/docs/ExceptionHandling.html#cleanups
Part of #2861 .
2012-07-24 12:20:39 -07:00
Paul Stansifer
1c472564e3
Add 5.timesi() |idx| { ... }
2012-07-24 11:44:58 -07:00
Ted Horst
78fa02106e
call task::yield in comm::peek
2012-07-23 17:51:10 -07:00
Erick Tryzelaar
06ac0c2b1d
Switch reader to work with preallocated vecs
...
This closes #2901 .
2012-07-23 17:15:30 -07:00
Erick Tryzelaar
66ebdbb283
libcore: whitespace cleanup.
2012-07-23 17:15:30 -07:00
Erick Tryzelaar
971b59106a
libcore: add vec memcpy and memmove fns
2012-07-23 17:15:30 -07:00
Erick Tryzelaar
9d4aab80a7
libcore: add vec::{mut_view, const_view}.
2012-07-23 17:15:30 -07:00
Erick Tryzelaar
a762c725b5
libcore: Modernize a docstring
2012-07-23 17:15:30 -07:00
Ben Blum
e0e9e451e7
Convert os/priv/uv to new task_builder interface
2012-07-23 20:09:17 -04:00
Ben Blum
c7a6a66e4b
Get rid of task::future_task
2012-07-23 20:09:17 -04:00
Ben Blum
e6efb24f3f
Add task::task_builder interface for improved spawning (related #2585 )
2012-07-23 20:09:16 -04:00
Ben Blum
d0fb85359a
Add task::spawn_unlinked and start migrating away from task::unsupervise
2012-07-23 16:06:29 -04:00
Ben Blum
6e21b5fd22
remove unneeded export local_data in task.rs ( #2945 )
2012-07-23 16:06:29 -04:00
Elliott Slaughter
d257382863
Moved malloc and free upcalls into rust runtime.
2012-07-23 10:45:58 -07:00
Elliott Slaughter
de82a9be61
Move fail upcall into rust libcore.
2012-07-23 10:45:58 -07:00
Ben Blum
d1e3e62300
*Properly* ignore the hanging linked failure test
2012-07-20 15:45:09 -04:00
Ben Blum
07bb1aefc9
task.rs rename supervise to linked internally
2012-07-20 14:32:18 -04:00
Tim Chevalier
ed62f441e9
Merge pull request #2939 from jld/randomfloat
...
Prevent random floats from occasionally being greater than 1.
2012-07-19 17:16:11 -07:00
Graydon Hoare
1e13626caa
Switch io::print and io::println to take slices.
2012-07-19 14:37:27 -07:00
Ben Blum
569af8aa28
Add bonus linked failure test, #[ignore]d
2012-07-19 16:44:29 -04:00
Ben Blum
22f492ab09
Linked failure: add {un,}linked {un,}parented fail-{up,down} tests.
2012-07-18 21:57:56 -04:00
Ben Blum
20831d394a
Linked failure: unidirectional failure with parented() (soon to be renamed)
2012-07-18 21:57:56 -04:00
Ben Blum
c936ae515b
Linked failure: Make joining a taskgroup O(1)
2012-07-18 17:07:35 -04:00
Niko Matsakis
e0ea67a2a6
prevent regions from escaping in ifaces; remove &r.T syntax
2012-07-18 11:48:58 -07:00
Niko Matsakis
eb0a34c398
iterate only over immutable vectors; use newer region notation
...
Unfortunately, right now iterating over const vectors is
not safe. This is because the callback expects an *immutable*
reference (in region terms: &T), not a const reference (&const T).
This was not being caught by the type system due to the use of
unsafe operations. To fix this, we need to either (1) find a way
to parameterize over mutability or (2) add each_const, each_mut
etc
2012-07-18 11:48:58 -07:00
Michael Sullivan
7f3bbd57c0
Make task.rs export local_data. This is a hack to work around #2945 .
2012-07-18 11:01:45 -07:00
Eric Holk
7b8171ef2d
Added liveness analysis for protocols, and removed warnings about empty states.
2012-07-17 17:46:31 -07:00
Ben Blum
4cf6b4d3b4
Tasks should not hold a ref to their parent ( Close #1789 )
2012-07-17 20:45:07 -04:00
Michael Sullivan
aa5b5ab886
Create some infrastructure for building up @-vectors. Work on #2921 .
2012-07-17 17:09:25 -07:00
Ben Blum
8e6d66280f
dlist enhancements: concat/append/prepend/reverse/each_node ( close #2917 )
2012-07-17 20:03:14 -04:00
Ben Blum
e57745b48c
option: remove map's copy restriction and add map_consume
2012-07-17 20:03:14 -04:00
Patrick Walton
b71a8827e3
rustc: Fix coherence errors in the build
2012-07-17 16:49:54 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Ben Blum
bc87e66355
Add option::while_some; also add more pure ( close #2927 )
2012-07-17 13:57:36 -04:00