diff --git a/src/task/blocking.rs b/src/task/blocking.rs index 41177bc93..b65f88b60 100644 --- a/src/task/blocking.rs +++ b/src/task/blocking.rs @@ -2,7 +2,7 @@ use std::fmt; use std::pin::Pin; -use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::atomic::{AtomicU32, Ordering}; use std::thread; use std::time::Duration; @@ -13,9 +13,9 @@ use crate::future::Future; use crate::task::{Context, Poll}; use crate::utils::abort_on_panic; -const MAX_THREADS: u64 = 10_000; +const MAX_THREADS: u32 = 10_000; -static DYNAMIC_THREAD_COUNT: AtomicU64 = AtomicU64::new(0); +static DYNAMIC_THREAD_COUNT: AtomicU32 = AtomicU32::new(0); struct Pool { sender: Sender>, diff --git a/src/task/task.rs b/src/task/task.rs index c0d52db50..ec481cd01 100644 --- a/src/task/task.rs +++ b/src/task/task.rs @@ -1,9 +1,9 @@ use std::fmt; -use std::i64; +use std::i32; use std::mem; -use std::num::NonZeroU64; +use std::num::NonZeroU32; use std::pin::Pin; -use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering}; +use std::sync::atomic::{AtomicU32, AtomicUsize, Ordering}; use std::sync::Arc; use super::local; @@ -105,22 +105,22 @@ impl Future for JoinHandle { /// }) /// ``` #[derive(Eq, PartialEq, Clone, Copy, Hash, Debug)] -pub struct TaskId(NonZeroU64); +pub struct TaskId(NonZeroU32); impl TaskId { pub(crate) fn new() -> TaskId { - static COUNTER: AtomicU64 = AtomicU64::new(1); + static COUNTER: AtomicU32 = AtomicU32::new(1); let id = COUNTER.fetch_add(1, Ordering::Relaxed); - if id > i64::MAX as u64 { + if id > i32::MAX as u32 { std::process::abort(); } - unsafe { TaskId(NonZeroU64::new_unchecked(id)) } + unsafe { TaskId(NonZeroU32::new_unchecked(id)) } } pub(crate) fn as_u64(&self) -> u64 { - self.0.get() + self.0.get() as u64 } }