/DragonOS/tools/debugging/logmonitor/src/backend/ |
H A D | mod.rs | 4 thread::JoinHandle, 21 main_thread: RwLock<Option<std::thread::JoinHandle<()>>>, 43 std::thread::spawn(move || { in new() 100 std::thread::sleep(std::time::Duration::from_secs(1)); in run_main() 108 let handle = std::thread::spawn(move || { in run_mm_monitor()
|
/DragonOS/tools/debugging/logmonitor/src/ |
H A D | event.rs | 5 use std::thread; 31 handler: thread::JoinHandle<()>, 41 thread::spawn(move || { in new()
|
/DragonOS/kernel/src/smp/cpu/ |
H A D | mod.rs | 49 thread: Option<Arc<ProcessControlBlock>>, field 62 thread: None, in new() 69 pub const fn thread(&self) -> &Option<Arc<ProcessControlBlock>> { in thread() method 70 &self.thread in thread() 94 hpstate.thread = Some(ProcessManager::idle_pcb()[i as usize].clone()); in new() 259 let pcb = cpu_state.thread.as_ref().ok_or(SystemError::EINVAL)?; in do_cpuhp_kick_ap() 264 ProcessManager::wakeup(cpu_state.thread.as_ref().unwrap())?; in do_cpuhp_kick_ap()
|
/DragonOS/user/apps/test-for-robustfutex/src/ |
H A D | main.rs | 10 thread, 106 fn futex_wait(futexes: Futex, thread: &str, offset_futex: isize, lock: Lock, offset_count: isize) { in futex_wait() 122 println!("{} wating...", thread); in futex_wait() 156 fn futex_wake(futexes: Futex, thread: &str, offset_futex: isize, lock: Lock, offset_count: isize) { in futex_wake() 188 println!("{} waked", thread); in futex_wake() 361 let thread1 = thread::spawn(move || { in test02() 363 thread::sleep(Duration::from_secs(2)); in test02() 367 thread::sleep(Duration::from_secs(3)); in test02()
|
/DragonOS/user/apps/test_socket/src/ |
H A D | test_unix_stream.rs | 3 use std::thread; 24 let client_thread = thread::spawn(move || client()); in test_unix_stream()
|
/DragonOS/kernel/src/exception/ |
H A D | handle.rs | 214 let thread = action_inner.thread(); in do_irq_wake_thread() localVariable 216 if thread.is_none() { in do_irq_wake_thread() 220 let thread = thread.unwrap(); in do_irq_wake_thread() localVariable 221 if thread.flags().contains(ProcessFlags::EXITING) { in do_irq_wake_thread() 235 ProcessManager::wakeup(&thread).ok(); in do_irq_wake_thread()
|
H A D | irqdesc.rs | 665 thread: None, in new() 699 thread: Option<Arc<ProcessControlBlock>>, field 741 pub fn thread(&self) -> Option<Arc<ProcessControlBlock>> { in thread() method 742 self.thread.clone() in thread() 745 pub fn set_thread(&mut self, thread: Option<Arc<ProcessControlBlock>>) { in set_thread() 746 self.thread = thread; in set_thread()
|
H A D | manage.rs | 174 if let Some(thread_pcb) = action_guard.thread() { in inner_setup_irq() 181 if let Some(thread_pcb) = secondary_guard.thread() { in inner_setup_irq() 606 if action_guard.thread().is_none() { in wake_up_and_wait_for_irq_thread_ready() 610 ProcessManager::wakeup(&action_guard.thread().unwrap()).ok(); in wake_up_and_wait_for_irq_thread_ready()
|
/DragonOS/user/apps/test_tokio/ |
H A D | Cargo.toml | 10 "rt-multi-thread",
|
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/ |
H A D | mm.rs | 7 thread::JoinHandle, 124 let handle = std::thread::spawn(move || { in create_threads() 165 std::thread::sleep(std::time::Duration::from_secs(1)); in run() 256 std::thread::sleep(std::time::Duration::from_secs(1)); in load_header()
|
/DragonOS/docs/kernel/locking/ |
H A D | rwlock.md | 195 let r2=thread::spawn(t_read2); 196 let r1 = thread::spawn(t_read1); 197 let t1 = thread::spawn(t_write); 198 let g1 = thread::spawn(t_upgrade);
|
/DragonOS/kernel/src/process/ |
H A D | fork.rs | 409 pcb.thread.write_irqsave().clear_child_tid = Some(clone_args.child_tid); in copy_process() 414 pcb.thread.write_irqsave().set_child_tid = Some(clone_args.child_tid); in copy_process() 488 pcb.thread.write_irqsave().group_leader = in copy_process() 489 current_pcb.thread.read_irqsave().group_leader.clone(); in copy_process() 495 pcb.thread.write_irqsave().group_leader = Arc::downgrade(pcb); in copy_process() 510 let leader = current_pcb.thread.read_irqsave().group_leader(); in copy_process()
|
H A D | mod.rs | 403 let thread = pcb.thread.write_irqsave(); in exit() localVariable 404 if let Some(addr) = thread.set_child_tid { in exit() 408 if let Some(addr) = thread.clear_child_tid { in exit() 419 if thread.vfork_done.is_some() { in exit() 420 thread.vfork_done.as_ref().unwrap().complete_all(); in exit() 422 drop(thread); in exit() 654 thread: RwLock<ThreadInfo>, field 750 thread: RwLock::new(ThreadInfo::new()), in do_create_pcb()
|
H A D | syscall.rs | 312 pcb.thread.write_irqsave().vfork_done = Some(vfork.clone()); in clone() 315 if pcb.thread.read_irqsave().set_child_tid.is_some() { in clone() 316 let addr = pcb.thread.read_irqsave().set_child_tid.unwrap(); in clone() 344 pcb.thread.write_irqsave().clear_child_tid = Some(VirtAddr::new(ptr)); in set_tid_address()
|
/DragonOS/user/apps/test_ebpf/ |
H A D | Cargo.toml | 12 tokio = { version = "1.25", features = ["macros", "rt", "rt-multi-thread", "net", "signal", "time"]…
|
/DragonOS/docs/kernel/debug/ |
H A D | debug-kernel-with-gdb.md | 280 backtrace thread <thread_id> #显示指定线程的回溯信息。 298   您可以使用`thread <thread_id>`命令切换到指定的核心上下文,以便查看和调试特定核心的状态。例如: 301 (gdb) thread 1 302 [Switching to thread 1 (Thread 1.1)]
|
/DragonOS/kernel/src/arch/x86_64/smp/ |
H A D | mod.rs | 51 .thread() in smp_ap_start()
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.7.md | 74 - 修复由于DragonOS不支持TLS(thread local storage)导致errno变量无法正常工作的问题. (#8)
|
H A D | V0.1.10.md | 56 - feat(process/riscv): 实现copy-thread (#696) 653 riscv: copy-thread (#696)
|
H A D | V0.1.9.md | 1294 添加thread和futex机制 (#411) 2006 * 能跑到initial kernel thread
|