about summary refs log tree commit diff
path: root/src/libstd/sys/redox/thread.rs
AgeCommit message (Collapse)AuthorLines
2019-08-06redox: convert to target_family unixJeremy Soller-84/+0
2019-04-10Eliminate `FnBox` usages from libstd.CrLF0710-2/+1
2019-02-28libstd => 2018Taiki Endo-7/+7
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-14Remove dead codeOliver Scherer-1/+0
2018-12-06Change sys::Thread::new to take the thread entry as Box<dyn FnBox() + 'static>̣Jethro Beekman-1/+2
2018-11-06refactor: use shorthand fieldsteresy-1/+1
2018-07-10Add missing `dyn` for cloudabi, redox, unix and wasmljedrz-1/+1
2018-04-12Import the `alloc` crate as `alloc_crate` in stdSimon Sapin-1/+1
… to make the name `alloc` available.
2018-03-24Fix build on non-Unix platformsTatsuyuki Ishi-0/+1
2018-01-31Use a range to identify SIGSEGV in stack guardsJosh Stone-2/+3
Previously, the `guard::init()` and `guard::current()` functions were returning a `usize` address representing the top of the stack guard, respectively for the main thread and for spawned threads. The `SIGSEGV` handler on `unix` targets checked if a fault was within one page below that address, if so reporting it as a stack overflow. Now `unix` targets report a `Range<usize>` representing the guard memory, so it can cover arbitrary guard sizes. Non-`unix` targets which always return `None` for guards now do so with `Option<!>`, so they don't pay any overhead. For `linux-gnu` in particular, the previous guard upper-bound was `stackaddr + guardsize`, as the protected memory was *inside* the stack. This was a glibc bug, and starting from 2.27 they are moving the guard *past* the end of the stack. However, there's no simple way for us to know where the guard page actually lies, so now we declare it as the whole range of `stackaddr ± guardsize`, and any fault therein will be called a stack overflow. This fixes #47863.
2017-09-13Move default stack min size to thread implementationsTobias Schaffner-0/+2
The default min stack size value is smaller on l4re and therefore this value has to be different depending on the platform.
2016-11-28Commit to fix make tidyJeremy Soller-1/+1
2016-11-28Switch to using syscall crate directly - without importJeremy Soller-14/+12
2016-10-30Implement threadJeremy Soller-14/+12
2016-10-29Implement env, reentrant mutex, and partially implement scoped thread ↵Jeremy Soller-3/+7
locals. Better error messages for unsupported features
2016-10-28Remove unsafe libc layerJeremy Soller-16/+13
2016-10-27Add redox systemJeremy Soller-0/+94