Skip to content

Commit bfac337

Browse files
committed
Auto merge of #23330 - alexcrichton:thread-sleep, r=aturon
This function is the current replacement for `std::old_io::timer` which will soon be deprecated. This function is unstable and has its own feature gate as it does not yet have an RFC nor has it existed for very long.
2 parents c64d671 + 04cf534 commit bfac337

File tree

4 files changed

+197
-221
lines changed

4 files changed

+197
-221
lines changed

src/libstd/sys/common/thread.rs

+5-10
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,23 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use core::prelude::*;
11+
use prelude::v1::*;
1212

13-
use boxed::Box;
14-
use mem;
1513
use usize;
1614
use libc;
1715
use thunk::Thunk;
1816
use sys_common::stack;
19-
use sys::{thread, stack_overflow};
17+
use sys::stack_overflow;
2018

2119
// This is the starting point of rust os threads. The first thing we do
2220
// is make sure that we don't trigger __morestack (also why this has a
2321
// no_stack_check annotation), and then we extract the main function
2422
// and invoke it.
2523
#[no_stack_check]
26-
pub fn start_thread(main: *mut libc::c_void) -> thread::rust_thread_return {
24+
pub fn start_thread(main: *mut libc::c_void) {
2725
unsafe {
2826
stack::record_os_managed_stack_bounds(0, usize::MAX);
29-
let handler = stack_overflow::Handler::new();
30-
let f: Box<Thunk> = Box::from_raw(main as *mut Thunk);
31-
f.invoke(());
32-
drop(handler);
33-
mem::transmute(0 as thread::rust_thread_return)
27+
let _handler = stack_overflow::Handler::new();
28+
Box::from_raw(main as *mut Thunk).invoke(());
3429
}
3530
}

0 commit comments

Comments
 (0)