about summary refs log tree commit diff
path: root/src/libstd/rt/thread.rs
AgeCommit message (Collapse)AuthorLines
2013-11-27Improve the rt::thread moduleAlex Crichton-58/+145
* Added doc comments explaining what all public functionality does. * Added the ability to spawn a detached thread * Added the ability for the procs to return a value in 'join'
2013-11-24std: Fix transmute error on win64klutzy-1/+1
2013-11-18libstd: Change all `~fn()`s to `proc`s in the standard library.Patrick Walton-4/+4
This makes `Cell`s no longer necessary in most cases.
2013-11-11Remove #[fixed_stack_segment] and #[rust_stack]Alex Crichton-7/+0
These two attributes are no longer useful now that Rust has decided to leave segmented stacks behind. It is assumed that the rust task's stack is always large enough to make an FFI call (due to the stack being very large). There's always the case of stack overflow, however, to consider. This does not change the behavior of stack overflow in Rust. This is still normally triggered by the __morestack function and aborts the whole process. C stack overflow will continue to corrupt the stack, however (as it did before this commit as well). The future improvement of a guard page at the end of every rust stack is still unimplemented and is intended to be the mechanism through which we attempt to detect C stack overflow. Closes #8822 Closes #10155
2013-11-10Register new snapshotsAlex Crichton-10/+2
2013-11-05Move implementation for threads to RustDirkjan Bussink-30/+97
This binds to the appropriate pthreads_* and Windows specific functions and calls them from Rust. This allows for removal of the C++ support code for threads. Fixes #10162
2013-10-28Register new snapshotsAlex Crichton-4/+3
2013-10-23Making fields in std and extra : private #4386reedlepee-3/+3
2013-10-19Use __morestack to detect stack overflowAlex Crichton-11/+32
This commit resumes management of the stack boundaries and limits when switching between tasks. This additionally leverages the __morestack function to run code on "stack overflow". The current behavior is to abort the process, but this is probably not the best behavior in the long term (for deails, see the comment I wrote up in the stack exhaustion routine).
2013-09-16switch Drop to `&mut self`Daniel Micay-1/+1
2013-08-19Add externfn macro and correctly label fixed_stack_segmentsNiko Matsakis-0/+6
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-3/+3
2013-07-30std::rt: Change Thread interface to require an explicit joinBrian Anderson-4/+15
Makes it more obvious what's going on
2013-06-25Change finalize -> drop.Luqman Aden-1/+1
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-2/+2
2013-05-22libstd: Rename libcore to libstd and libstd to libextra; update makefiles.Patrick Walton-0/+44
This only changes the directory names; it does not change the "real" metadata names.