Skip to main content

ax_task/thread/
mod.rs

1//! Thread identity, lifecycle and generation-valid management handles.
2
3pub mod current;
4mod current_token;
5mod handle;
6mod id;
7mod park;
8pub(crate) mod pi;
9mod pi_tree;
10
11pub(crate) mod spec;
12mod state;
13pub(crate) mod tick_work;
14
15pub use current_token::CurrentThreadToken;
16pub(crate) use handle::{OwnedThreadSchedulerExit, ThreadCore, ThreadCoreInit, WakeIntent};
17pub use handle::{
18    ThreadHandle, ThreadRuntimeSnapshot, ThreadWakeBatch, ThreadWakeHandle, WakeResult,
19    WeakThreadHandle,
20};
21pub use id::ThreadId;
22pub use park::{ParkCommit, ParkPrepare, ParkTicket};
23pub(crate) use park::{WaitWakeClaim, WaitWakeClaimState, WaitWakeDelivery};
24pub(crate) use pi::{
25    PiMutexWaiters, PiWaitRegistration, PiWaitState, drop_pi_mutex_wait_handle,
26    lock_pi_mutex_waiters, lock_raw_pi_mutex_waiters, try_lock_raw_pi_mutex_waiters,
27};
28pub(crate) use pi_tree::*;
29pub use spec::{
30    RunningPolicyAppliedHook, SwitchReason, ThreadExtension, ThreadExtensionBorrow,
31    ThreadExtensionLease, ThreadExtensionOps, ThreadExtensionView, ThreadSpec,
32};
33pub use state::ThreadState;
34pub(crate) use state::{ParkPublication, ThreadLifecycle, WakePublication, transition_is_valid};
35pub(crate) use tick_work::{SchedulerTickWork, SchedulerTickWorkClaim};
36
37pub(crate) use crate::sched::{
38    affinity::ThreadAffinityCompletion,
39    policy::{
40        DEADLINE_CLASS_RANK, DeadlineEntity, DeadlineServer, REALTIME_CLASS_RANK, SchedulingKey,
41        SchedulingUrgency,
42    },
43};
44pub use crate::thread::{
45    error::TaskError,
46    spawn::{DEFAULT_KERNEL_THREAD_STACK_SIZE, KernelThreadHandle, ThreadBuilder},
47};
48
49pub(crate) mod error;
50
51pub(crate) mod spawn;