Inline start_thread into its callers.
This commit is contained in:
parent
64e5327b6e
commit
753bc7ddf8
@ -4,8 +4,8 @@ use crate::io;
|
|||||||
use crate::mem;
|
use crate::mem;
|
||||||
use crate::ptr;
|
use crate::ptr;
|
||||||
use crate::sys::cloudabi::abi;
|
use crate::sys::cloudabi::abi;
|
||||||
|
use crate::sys::stack_overflow;
|
||||||
use crate::sys::time::checked_dur2intervals;
|
use crate::sys::time::checked_dur2intervals;
|
||||||
use crate::sys_common::thread::*;
|
|
||||||
use crate::time::Duration;
|
use crate::time::Duration;
|
||||||
|
|
||||||
pub const DEFAULT_MIN_STACK_SIZE: usize = 2 * 1024 * 1024;
|
pub const DEFAULT_MIN_STACK_SIZE: usize = 2 * 1024 * 1024;
|
||||||
@ -49,7 +49,11 @@ impl Thread {
|
|||||||
|
|
||||||
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
||||||
unsafe {
|
unsafe {
|
||||||
start_thread(main as *mut u8);
|
// Next, set up our stack overflow handler which may get triggered if we run
|
||||||
|
// out of stack.
|
||||||
|
let _handler = stack_overflow::Handler::new();
|
||||||
|
// Finally, let's run some code.
|
||||||
|
Box::from_raw(main as *mut Box<dyn FnOnce()>)();
|
||||||
}
|
}
|
||||||
ptr::null_mut()
|
ptr::null_mut()
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,10 @@ use crate::fmt;
|
|||||||
use crate::io;
|
use crate::io;
|
||||||
use crate::mem;
|
use crate::mem;
|
||||||
use crate::sys::hermit::abi;
|
use crate::sys::hermit::abi;
|
||||||
|
use crate::sys::stack_overflow;
|
||||||
use crate::time::Duration;
|
use crate::time::Duration;
|
||||||
use core::u32;
|
use core::u32;
|
||||||
|
|
||||||
use crate::sys_common::thread::*;
|
|
||||||
|
|
||||||
pub type Tid = abi::Tid;
|
pub type Tid = abi::Tid;
|
||||||
|
|
||||||
/// Priority of a task
|
/// Priority of a task
|
||||||
@ -70,7 +69,11 @@ impl Thread {
|
|||||||
|
|
||||||
extern "C" fn thread_start(main: usize) {
|
extern "C" fn thread_start(main: usize) {
|
||||||
unsafe {
|
unsafe {
|
||||||
start_thread(main as *mut u8);
|
// Next, set up our stack overflow handler which may get triggered if we run
|
||||||
|
// out of stack.
|
||||||
|
let _handler = stack_overflow::Handler::new();
|
||||||
|
// Finally, let's run some code.
|
||||||
|
Box::from_raw(main as *mut Box<dyn FnOnce()>)();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,9 @@ use crate::ffi::CStr;
|
|||||||
use crate::io;
|
use crate::io;
|
||||||
use crate::mem;
|
use crate::mem;
|
||||||
use crate::ptr;
|
use crate::ptr;
|
||||||
use crate::sys::os;
|
use crate::sys::{os, stack_overflow};
|
||||||
use crate::time::Duration;
|
use crate::time::Duration;
|
||||||
|
|
||||||
use crate::sys_common::thread::*;
|
|
||||||
|
|
||||||
#[cfg(not(target_os = "l4re"))]
|
#[cfg(not(target_os = "l4re"))]
|
||||||
pub const DEFAULT_MIN_STACK_SIZE: usize = 2 * 1024 * 1024;
|
pub const DEFAULT_MIN_STACK_SIZE: usize = 2 * 1024 * 1024;
|
||||||
#[cfg(target_os = "l4re")]
|
#[cfg(target_os = "l4re")]
|
||||||
@ -84,7 +82,11 @@ impl Thread {
|
|||||||
|
|
||||||
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
||||||
unsafe {
|
unsafe {
|
||||||
start_thread(main as *mut u8);
|
// Next, set up our stack overflow handler which may get triggered if we run
|
||||||
|
// out of stack.
|
||||||
|
let _handler = stack_overflow::Handler::new();
|
||||||
|
// Finally, let's run some code.
|
||||||
|
Box::from_raw(main as *mut Box<dyn FnOnce()>)();
|
||||||
}
|
}
|
||||||
ptr::null_mut()
|
ptr::null_mut()
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,9 @@ use crate::ffi::CStr;
|
|||||||
use crate::io;
|
use crate::io;
|
||||||
use crate::mem;
|
use crate::mem;
|
||||||
use crate::ptr;
|
use crate::ptr;
|
||||||
use crate::sys::os;
|
use crate::sys::{os, stack_overflow};
|
||||||
use crate::time::Duration;
|
use crate::time::Duration;
|
||||||
|
|
||||||
use crate::sys_common::thread::*;
|
|
||||||
|
|
||||||
pub const DEFAULT_MIN_STACK_SIZE: usize = 0x40000; // 256K
|
pub const DEFAULT_MIN_STACK_SIZE: usize = 0x40000; // 256K
|
||||||
|
|
||||||
pub struct Thread {
|
pub struct Thread {
|
||||||
@ -72,7 +70,11 @@ impl Thread {
|
|||||||
|
|
||||||
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
extern "C" fn thread_start(main: *mut libc::c_void) -> *mut libc::c_void {
|
||||||
unsafe {
|
unsafe {
|
||||||
start_thread(main as *mut u8);
|
// Next, set up our stack overflow handler which may get triggered if we run
|
||||||
|
// out of stack.
|
||||||
|
let _handler = stack_overflow::Handler::new();
|
||||||
|
// Finally, let's run some code.
|
||||||
|
Box::from_raw(main as *mut Box<dyn FnOnce()>)();
|
||||||
}
|
}
|
||||||
ptr::null_mut()
|
ptr::null_mut()
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ use crate::mem;
|
|||||||
use crate::ptr;
|
use crate::ptr;
|
||||||
use crate::sys::c;
|
use crate::sys::c;
|
||||||
use crate::sys::handle::Handle;
|
use crate::sys::handle::Handle;
|
||||||
use crate::sys_common::thread::*;
|
use crate::sys::stack_overflow;
|
||||||
use crate::time::Duration;
|
use crate::time::Duration;
|
||||||
|
|
||||||
use libc::c_void;
|
use libc::c_void;
|
||||||
@ -50,7 +50,11 @@ impl Thread {
|
|||||||
|
|
||||||
extern "system" fn thread_start(main: *mut c_void) -> c::DWORD {
|
extern "system" fn thread_start(main: *mut c_void) -> c::DWORD {
|
||||||
unsafe {
|
unsafe {
|
||||||
start_thread(main as *mut u8);
|
// Next, set up our stack overflow handler which may get triggered if we run
|
||||||
|
// out of stack.
|
||||||
|
let _handler = stack_overflow::Handler::new();
|
||||||
|
// Finally, let's run some code.
|
||||||
|
Box::from_raw(main as *mut Box<dyn FnOnce()>)();
|
||||||
}
|
}
|
||||||
0
|
0
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,7 @@
|
|||||||
use crate::env;
|
use crate::env;
|
||||||
use crate::sync::atomic::{self, Ordering};
|
use crate::sync::atomic::{self, Ordering};
|
||||||
use crate::sys::stack_overflow;
|
|
||||||
use crate::sys::thread as imp;
|
use crate::sys::thread as imp;
|
||||||
|
|
||||||
#[allow(dead_code)]
|
|
||||||
pub unsafe fn start_thread(main: *mut u8) {
|
|
||||||
// Next, set up our stack overflow handler which may get triggered if we run
|
|
||||||
// out of stack.
|
|
||||||
let _handler = stack_overflow::Handler::new();
|
|
||||||
|
|
||||||
// Finally, let's run some code.
|
|
||||||
Box::from_raw(main as *mut Box<dyn FnOnce()>)()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn min_stack() -> usize {
|
pub fn min_stack() -> usize {
|
||||||
static MIN: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
|
static MIN: atomic::AtomicUsize = atomic::AtomicUsize::new(0);
|
||||||
match MIN.load(Ordering::SeqCst) {
|
match MIN.load(Ordering::SeqCst) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user