diff options
| author | Raoul Strackx <raoul.strackx@fortanix.com> | 2024-05-30 15:50:44 +0200 |
|---|---|---|
| committer | Raoul Strackx <raoul.strackx@fortanix.com> | 2024-06-04 08:46:38 +0200 |
| commit | b8c6008fbcb0a1f9f8af1ad7b6b196c950351b67 (patch) | |
| tree | 1fdef93e51533b763d2bd1e19d3facc64cf1931f | |
| parent | 9b2e41a21800bcd56c5ce3307ab7e484f83d51b3 (diff) | |
| download | rust-b8c6008fbcb0a1f9f8af1ad7b6b196c950351b67.tar.gz rust-b8c6008fbcb0a1f9f8af1ad7b6b196c950351b67.zip | |
Store `Task::p` as `dyn FnOnce() + Send`
| -rw-r--r-- | library/std/src/sys/pal/sgx/thread.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/library/std/src/sys/pal/sgx/thread.rs b/library/std/src/sys/pal/sgx/thread.rs index d70c6e31fb7..2d936b09c70 100644 --- a/library/std/src/sys/pal/sgx/thread.rs +++ b/library/std/src/sys/pal/sgx/thread.rs @@ -28,14 +28,14 @@ mod task_queue { } pub(super) struct Task { - p: Box<dyn FnOnce()>, + p: Box<dyn FnOnce() + Send>, done: JoinNotifier, } unsafe impl Send for Task {} impl Task { - pub(super) fn new(p: Box<dyn FnOnce()>) -> (Task, JoinHandle) { + pub(super) fn new(p: Box<dyn FnOnce() + Send>) -> (Task, JoinHandle) { let (done, recv) = wait_notify::new(); let done = JoinNotifier(Some(done)); (Task { p, done }, recv) @@ -97,7 +97,7 @@ pub mod wait_notify { impl Thread { // unsafe: see thread::Builder::spawn_unchecked for safety requirements - pub unsafe fn new(_stack: usize, p: Box<dyn FnOnce()>) -> io::Result<Thread> { + pub unsafe fn new(_stack: usize, p: Box<dyn FnOnce() + Send>) -> io::Result<Thread> { let mut queue_lock = task_queue::lock(); unsafe { usercalls::launch_thread()? }; let (task, handle) = task_queue::Task::new(p); |
