signal.rs 428 B

12345678910111213141516
  1. use crate::process::ProcessControlBlock;
  2. use crate::process::ProcessManager;
  3. use alloc::sync::{Arc, Weak};
  4. impl ProcessManager {
  5. pub fn same_thread_group(
  6. group_leader: &Arc<ProcessControlBlock>,
  7. real_parent: &Weak<ProcessControlBlock>,
  8. ) -> bool {
  9. group_leader
  10. .threads_read_irqsave()
  11. .group_tasks
  12. .iter()
  13. .any(|x| x.ptr_eq(real_parent))
  14. }
  15. }