about summary refs log tree commit diff
path: root/src/libextra/sync.rs
AgeCommit message (Collapse)AuthorLines
2013-08-16Reserve 'yield' keywordKevin Ballard-10/+10
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-10auto merge of #8327 : sstewartgallus/rust/factor_out_waitqueue, r=bblumbors-13/+13
I'm a bit disappointed that I couldn't figure out how to factor out more of the code implementing `extra::sync` but I feel this is an okay start. Also I added some documentation explaining that `WaitQueue` isn't thread safe, and needs an exclusive lock. @bblum
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-2/+3
2013-08-08Isolate common wait_end logicSteven Stewart-Gallus-13/+13
2013-08-07Disable linked failure testsBrian Anderson-0/+2
The implementation currently contains a race that leads to segfaults.
2013-08-03remove obsolete `foreach` keywordDaniel Micay-6/+6
this has been replaced by `for`
2013-08-02(cleanup) Use more do...finally in extra::sync.Ben Blum-207/+102
2013-08-02Add SendDeferred trait and use it to fix #8214.Ben Blum-4/+5
2013-08-01std: Change `Times` trait to use `do` instead of `for`blake2-ppc-12/+12
Change the former repetition:: for 5.times { } to:: do 5.times { } .times() cannot be broken with `break` or `return` anymore; for those cases, use a numerical range loop instead.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-6/+6
2013-07-31auto merge of #8139 : brson/rust/rm-old-task-apis, r=pcwaltonbors-1/+1
This removes a bunch of options from the task builder interface that are irrelevant to the new scheduler and were generally unused anyway. It also bumps the stack size of new scheduler tasks so that there's enough room to run rustc and changes the interface to `Thread` to not implicitly join threads on destruction, but instead require an explicit, and mandatory, call to `join`.
2013-07-30std: Remove ManualThreads spawn modeBrian Anderson-1/+1
2013-07-30Unkillable is not unsafe. Close #7832.Ben Blum-28/+20
2013-07-27Change concurrency primitives to standard naming conventionsSteven Stewart-Gallus-166/+168
To be more specific: `UPPERCASETYPE` was changed to `UppercaseType` `type_new` was changed to `Type::new` `type_function(value)` was changed to `value.method()`
2013-07-16Rename Option swap_unwrap to take_unwrap. Fixes Issue#7764Austin King-4/+4
2013-06-29Great renaming: propagate throughout the rest of the codebaseCorey Richardson-13/+11
2013-06-29'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵Ben Blum-5/+7
for making them noncopyable.
2013-06-28Rewrite each_path to allow performance improvements in the future.Patrick Walton-1/+1
Instead of determining paths from the path tag, we iterate through modules' children recursively in the metadata. This will allow for lazy external module resolution.
2013-06-28librustc: Rewrite reachability and forbid duplicate methods in type ↵Patrick Walton-3/+5
implementations. This should allow fewer symbols to be exported.
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-3/+3
2013-06-28extra: silence some test warnings.Huon Wilson-1/+0
2013-06-25auto merge of #7269 : luqmana/rust/drop, r=thestingerbors-8/+8
Finally rename finalize to drop. Closes #4332.
2013-06-25Change finalize -> drop.Luqman Aden-8/+8
2013-06-25remove `each` from vec, HashMap and HashSetDaniel Micay-1/+2
2013-06-23vec: remove BaseIter implementationDaniel Micay-5/+5
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-1/+1
2013-06-13Improve comments in sync and arc a bit more.Ben Blum-3/+5
2013-06-13Change sync::RWlock implementation to use atomic uint instead of exclusive, ↵Ben Blum-57/+80
for performance. Close #7066.
2013-06-13Thread order_lock through rwlock condvars for reacquiring access_lock. Fixes ↵Ben Blum-22/+72
#7065.
2013-06-09remove unused import warningsHuon Wilson-1/+0
2013-06-06Clean up a handful of build warnings.Michael Sullivan-1/+0
2013-06-04std::cell: Modernize constructorsPhilipp Brüschweiler-2/+2
Part of #3853
2013-06-02ptr: split out borrowed pointer utilitiesDaniel Micay-1/+2
The ptr module is intended to be for raw pointers. Closes #3111
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-37/+38
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-1/+4
2013-05-29librustc: Redo the unsafe checker and make unsafe methods not callable from ↵Patrick Walton-43/+51
safe code
2013-05-28Silence various warnings throughout test modulesAlex Crichton-1/+0
2013-05-27syntax highlight code examples in docstringsDaniel Micay-1/+4
2013-05-22test: Update tests and import the prelude in some more places.Patrick Walton-0/+1
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+1351
This only changes the directory names; it does not change the "real" metadata names.