Store `Weak<Task>` in `PosixThread`

This commit is contained in:
Wang Siyuan 2025-11-12 11:59:53 +00:00 committed by Ruihan Li
parent 58070c4107
commit 3ffa253947
2 changed files with 6 additions and 1 deletions

View File

@ -163,6 +163,7 @@ impl PosixThreadBuilder {
PosixThread {
process,
task: weak_task.clone(),
tid: AtomicU32::new(tid),
name: Mutex::new(thread_name),
credentials,

View File

@ -3,7 +3,10 @@
use core::sync::atomic::{AtomicU32, Ordering};
use aster_rights::{ReadDupOp, ReadOp, WriteOp};
use ostd::sync::{RoArc, RwMutexReadGuard, Waker};
use ostd::{
sync::{RoArc, RwMutexReadGuard, Waker},
task::Task,
};
use super::{
signal::{sig_mask::AtomicSigMask, sig_num::SigNum, sig_queues::SigQueues, signals::Signal},
@ -38,6 +41,7 @@ pub use thread_local::{AsThreadLocal, FileTableRefMut, ThreadLocal};
pub struct PosixThread {
// Immutable part
process: Weak<Process>,
task: Weak<Task>,
// Mutable part
tid: AtomicU32,