Commit Graph

20332 Commits

Author SHA1 Message Date
Ben Blum
7ad7911222 Add watched and indestructible spawn modes. 2013-07-20 05:12:04 -04:00
Ben Blum
2183145850 Rename TCB to Taskgroup 2013-07-20 05:12:04 -04:00
Ben Blum
f3c79c4026 Enable taskgroup code for newsched spawns. 2013-07-20 05:12:03 -04:00
Ben Blum
0e1be5ff9e Fix linked failure tests to block forever instead of looping around yield. 2013-07-20 05:08:58 -04:00
Ben Blum
728edb5af6 (cleanup) impl TaskSet 2013-07-20 05:08:58 -04:00
Ben Blum
6d9184609a (cleanup) Don't check taskgroup generation monotonicity unless cfg(test). 2013-07-20 05:08:58 -04:00
Ben Blum
87bbcb579a (cleanup) Modernize taskgroup code for the new borrow-checker. 2013-07-20 05:08:58 -04:00
Ben Blum
9bbec651df Replace *rust_task ptrs in taskgroup code with TaskHandle, for transitioning to newsched killing. 2013-07-20 05:08:57 -04:00
Ben Blum
e2a42416dd Add option::take(), the building block of the option::take_* family. 2013-07-20 05:08:57 -04:00
Ben Blum
2a7273c71e Stash a spare kill flag inside tasks, to save two atomic xadds in the blocking fastpath. 2013-07-20 05:08:57 -04:00
Ben Blum
e283c4ddff Add tests for task killing and blocking. 2013-07-20 05:08:57 -04:00
Ben Blum
a093b5434a Add test::with_test_task() convenience function. 2013-07-20 05:08:57 -04:00
Ben Blum
9ad1997549 Change the HOF context switchers to pass a BlockedTask instead of a ~Task. 2013-07-20 05:08:57 -04:00
Ben Blum
0101f35f27 Add BlockedTask (wake, try_block, etc) in kill.rs. 2013-07-20 05:08:57 -04:00
Ben Blum
e80efe3fda Do a task-killed check at the start of task 'timeslices'. 2013-07-20 05:08:56 -04:00
Ben Blum
629f6e8d68 Implement KillHandle::kill() and friends (unkillable, atomically). Close #6377. 2013-07-20 05:08:56 -04:00
Ben Blum
2a99320583 Add tests for KillHandle 2013-07-20 05:08:56 -04:00
Ben Blum
afc199bea0 Remove join_latch 2013-07-20 05:08:56 -04:00
Ben Blum
6882508b6f Add kill::Death for task death services and use it in Task. 2013-07-20 05:08:56 -04:00
Ben Blum
52ca256d7b Add KillHandle and implement exit code propagation to replace join_latch 2013-07-20 05:08:56 -04:00
Ben Blum
2a99163f5d Add UnsafeAtomicRcBox::try_unwrap() 2013-07-20 05:08:55 -04:00
Ben Blum
10a400ffaa Reimplement ARC::unwrap() and friends. 2013-07-20 05:08:55 -04:00
Ben Blum
55adc4467b Add AtomicOption::fill() and AtomicOption::is_empty() 2013-07-20 05:08:55 -04:00
Ben Blum
28c9ba91d8 Remove redundant Atomic{Ui,I}nt types from unstable::sync 2013-07-20 05:08:55 -04:00
Ben Blum
5a9b33a76d Add Option::take_map{,_default}() 2013-07-20 05:08:55 -04:00
Ben Blum
96c1082f0f Add Either::expect_{left,right} 2013-07-20 05:08:55 -04:00
Michael Woerister
a1303cc815 debuginfo: Removed some test relying on data structure sizes hard to predict for all possible platforms and configurations. 2013-07-20 10:47:24 +02:00
bors
098709aa63 auto merge of #7855 : brson/rust/rt-overcommit, r=pcwalton
Too much overcommit here exhausts the low fd limit on OS X.
2013-07-20 00:37:42 -07:00
Daniel Micay
8d97c905dd Merge pull request #7897 from thestinger/double
rollup of small pull requests

404de4f r=huonw
0cdb0a2 r=pcwalton
b082302 r=sanxiyn
b6a0138 r=huonw
8d64fa3 r=graydon
ddd8c15 r=thestinger
eb74f0c r=thestinger
2013-07-19 20:25:46 -07:00
Alex Crichton
0bba8f4b74 Add tests for issues which can be closed
Closes #5275, $4547
2013-07-19 19:01:46 -07:00
Matthijs Hofstra
eb74f0ccf6 Added a new method to extra::future (unwrap) + a test 2013-07-19 21:04:33 -04:00
Brian Anderson
ddd8c156c6 std: Remove old magic core mod 2013-07-19 21:01:24 -04:00
Jack Moffitt
8d64fa3288 Reorganize README to make it more clear.
This also adds a note about required memory usage and instructions for
building from Git.
2013-07-19 20:52:16 -04:00
Felix S. Klock II
b6a0138f97 PR #7637 followup: no need to print the set of removed files twice. 2013-07-19 20:47:00 -04:00
maikklein
b082302727 updated manual 2013-07-19 20:43:04 -04:00
Daniel Micay
0cdb0a2189 remove dead take glue code paths
Closes #7888
2013-07-19 20:37:43 -04:00
Daniel Micay
404de4f4ae iterator: impl DoubleEndedIterator for adaptors 2013-07-19 20:37:37 -04:00
Andreas Martens
51649b763e smallint{map,set}: replace iterators with DoubleEndedIterator
Also changed the tests to iterate over sparse maps/sets.
2013-07-20 02:29:54 +02:00
Brian Anderson
79677f0556 mk: Remove CFG_INSTALL_SNAP logic. #2664 2013-07-19 15:35:42 -07:00
Graydon Hoare
0ba6a51f32 extra: add some microbenchmarks 2013-07-19 15:08:42 -07:00
Brian Anderson
73fccf3e70 std::rt: Remove an obsolete FIXME. #7757 2013-07-19 14:36:05 -07:00
Brian Anderson
49b72bdd77 std::rt: Use a constant 4 threads for multithreaded sched tests. #7772
Too much overcommit here exhausts the low fd limit on OS X.
2013-07-19 14:18:50 -07:00
Eric Reed
b03f1e7357 Missed the methods of UdpWatcher. 2013-07-19 13:04:03 -07:00
Eric Reed
968f7f5d3d Changed methods on UDP sockets and TCP/UDP watchers to &mut self to reflect that libuv may change the underlying handle. 2013-07-19 13:04:03 -07:00
Huon Wilson
cc760a647a syntax: modernise attribute handling in syntax::attr.
This does a number of things, but especially dramatically reduce the
number of allocations performed for operations involving attributes/
meta items:

- Converts ast::meta_item & ast::attribute and other associated enums
  to CamelCase.
- Converts several standalone functions in syntax::attr into methods,
  defined on two traits AttrMetaMethods & AttributeMethods. The former
  is common to both MetaItem and Attribute since the latter is a thin
  wrapper around the former.
- Deletes functions that are unnecessary due to iterators.
- Converts other standalone functions to use iterators and the generic
  AttrMetaMethods rather than allocating a lot of new vectors (e.g. the
  old code would have to allocate a new vector to use functions that
  operated on &[meta_item] on &[attribute].)
- Moves the core algorithm of the #[cfg] matching to syntax::attr,
  similar to find_inline_attr and find_linkage_metas.

This doesn't have much of an effect on the speed of #[cfg] stripping,
despite hugely reducing the number of allocations performed; presumably
most of the time is spent in the ast folder rather than doing attribute
checks.

Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so
that `rustc --cfg 'foo(bar)'` now works.
2013-07-20 01:06:16 +10:00
bors
0d04aa78e5 auto merge of #7871 : pcwalton/rust/de-at-match, r=brson
This will be needed to add `'static` bounds to `@`.

r? @nikomatsakis
2013-07-19 04:10:32 -07:00
Michael Woerister
b52eb4a0ff debuginfo: Fixed some merge fallout 2013-07-19 11:29:27 +02:00
bors
32586faa6a auto merge of #7868 : pnkfelix/rust/issue6929-remove-bogus-sed-invoke-from-configure, r=brson
... in tree.

Fix #6929
2013-07-19 02:25:34 -07:00
bors
06fec5243b auto merge of #7863 : catamorphism/rust/issue-5883, r=catamorphism 2013-07-19 00:25:36 -07:00
Michael Woerister
6aa43c77d4 debuginfo: Fixed some merge fallout. 2013-07-19 07:58:28 +02:00