Home
last modified time | relevance | path

Searched refs:thread (Results 1 – 19 of 19) sorted by relevance

/DragonOS/tools/debugging/logmonitor/src/backend/
H A Dmod.rs4 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 Devent.rs5 use std::thread;
31 handler: thread::JoinHandle<()>,
41 thread::spawn(move || { in new()
/DragonOS/kernel/src/smp/cpu/
H A Dmod.rs49 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()
260 let pcb = cpu_state.thread.as_ref().ok_or(SystemError::EINVAL)?; in do_cpuhp_kick_ap()
265 ProcessManager::wakeup(cpu_state.thread.as_ref().unwrap())?; in do_cpuhp_kick_ap()
/DragonOS/user/apps/test-for-robustfutex/src/
H A Dmain.rs10 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 Dtest_unix_stream.rs3 use std::thread;
24 let client_thread = thread::spawn(move || client()); in test_unix_stream()
/DragonOS/kernel/src/exception/
H A Dhandle.rs214 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 Dirqdesc.rs656 thread: None, in new()
690 thread: Option<Arc<ProcessControlBlock>>, field
732 pub fn thread(&self) -> Option<Arc<ProcessControlBlock>> { in thread() method
733 self.thread.clone() in thread()
736 pub fn set_thread(&mut self, thread: Option<Arc<ProcessControlBlock>>) { in set_thread()
737 self.thread = thread; in set_thread()
H A Dmanage.rs174 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 DCargo.toml10 "rt-multi-thread",
/DragonOS/kernel/src/process/
H A Dfork.rs378 pcb.thread.write_irqsave().clear_child_tid = Some(clone_args.child_tid); in copy_process()
383 pcb.thread.write_irqsave().set_child_tid = Some(clone_args.child_tid); in copy_process()
446 pcb.thread.write_irqsave().group_leader = in copy_process()
447 current_pcb.thread.read_irqsave().group_leader.clone(); in copy_process()
453 pcb.thread.write_irqsave().group_leader = Arc::downgrade(pcb); in copy_process()
468 let leader = current_pcb.thread.read_irqsave().group_leader(); in copy_process()
H A Dmod.rs404 let thread = pcb.thread.write_irqsave(); in exit() localVariable
405 if let Some(addr) = thread.set_child_tid { in exit()
409 if let Some(addr) = thread.clear_child_tid { in exit()
420 if thread.vfork_done.is_some() { in exit()
421 thread.vfork_done.as_ref().unwrap().complete_all(); in exit()
423 drop(thread); in exit()
647 thread: RwLock<ThreadInfo>, field
736 thread: RwLock::new(ThreadInfo::new()), in do_create_pcb()
H A Dsyscall.rs248 pcb.thread.write_irqsave().vfork_done = Some(vfork.clone()); in clone()
251 if pcb.thread.read_irqsave().set_child_tid.is_some() { in clone()
252 let addr = pcb.thread.read_irqsave().set_child_tid.unwrap(); in clone()
280 pcb.thread.write_irqsave().clear_child_tid = Some(VirtAddr::new(ptr)); in set_tid_address()
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/
H A Dmm.rs7 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 Drwlock.md195 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/docs/kernel/debug/
H A Ddebug-kernel-with-gdb.md280 backtrace thread <thread_id> #显示指定线程的回溯信息。
298 &emsp;&emsp;您可以使用`thread <thread_id>`命令切换到指定的核心上下文,以便查看和调试特定核心的状态。例如:
301 (gdb) thread 1
302 [Switching to thread 1 (Thread 1.1)]
/DragonOS/kernel/src/arch/x86_64/smp/
H A Dmod.rs52 .thread() in smp_ap_start()
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.7.md74 - 修复由于DragonOS不支持TLS(thread local storage)导致errno变量无法正常工作的问题. (#8)
H A DV0.1.10.md56 - feat(process/riscv): 实现copy-thread (#696)
653 riscv: copy-thread (#696)
H A DV0.1.9.md1294 添加thread和futex机制 (#411)
2006 * 能跑到initial kernel thread