/DragonOS/docs/kernel/locking/ |
H A D | mutex.md | 25 /// @brief Mutex互斥量结构体 26 /// 请注意!由于Mutex属于休眠锁,因此,如果您的代码可能在中断上下文内执行,请勿采用Mutex! 28 pub struct Mutex<T> { 29 /// 该Mutex保护的数据 31 /// Mutex内部的信息 37 /// 当前Mutex是否已经被上锁(上锁时,为true) 47   与SpinLock类似,Rust版本的Mutex具有一个守卫。使用的时候,需要将要被保护的数据的所有权移交Mutex。并且,守卫只能在加锁成功后产生,因此,每个时刻,每个Mu… 49   当需要读取、修改Mutex保护的数据时,请先使用Mutex的`lock()`方法。该方法会返回一个`MutexGuard`。您可以使用被保护的数据的成员函数来进行一些操作。或… 54 let x :Mutex<Vec<i32>>= Mutex::new(Vec::new()); 61 // 在此处,Mutex是加锁的状态 [all …]
|
H A D | locks.md | 50   请见{ref}`Mutex文档 <_mutex_doc>`
|
/DragonOS/tools/debugging/logmonitor/src/backend/ |
H A D | mod.rs | 3 sync::{mpsc, Arc, Mutex, RwLock, Weak}, 20 data: Arc<Mutex<BackendData>>, 23 threads: Mutex<Vec<JoinHandle<()>>>, 31 data: Arc::new(Mutex::new(BackendData::new())), in new() 33 threads: Mutex::new(Vec::new()), in new() 75 shared_data: Arc<Mutex<BackendData>>, 84 backend_data: Arc<Mutex<BackendData>>, in new()
|
/DragonOS/kernel/src/arch/x86_64/kvm/ |
H A D | mod.rs | 3 use crate::libs::mutex::Mutex; 58 pub fn kvm_arch_vcpu_create(id: u32) -> Result<Arc<Mutex<VmxVcpu>>, SystemError> { in kvm_arch_vcpu_create() 61 return Ok(Arc::new(Mutex::new(vcpu))); in kvm_arch_vcpu_create() 64 pub fn kvm_arch_vcpu_setup(vcpu: &Mutex<VmxVcpu>) -> Result<(), SystemError> { in kvm_arch_vcpu_setup() 69 pub fn kvm_arch_vcpu_ioctl_run(_vcpu: &Mutex<VmxVcpu>) -> Result<(), SystemError> { in kvm_arch_vcpu_ioctl_run()
|
/DragonOS/kernel/src/virt/kvm/ |
H A D | mod.rs | 5 use crate::libs::mutex::Mutex; 22 pub static VM_LIST: Mutex<Vec<Vm>> = Mutex::new(Vec::new());
|
H A D | vm.rs | 4 use crate::libs::mutex::Mutex; 23 pub vcpu: Vec<Arc<Mutex<VmxVcpu>>>,
|
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/ |
H A D | mm.rs | 6 sync::{atomic::AtomicBool, mpsc, Arc, Mutex, Weak}, 22 shared_data: Arc<Mutex<BackendData>>, 24 threads: Mutex<Vec<JoinHandle<()>>>, 28 mm_log_receiver: Mutex<mpsc::Receiver<MMLogWorkerResult>>, 33 pub(crate) fn new(shared_data: Arc<Mutex<BackendData>>) -> Arc<Self> { in new() 56 threads: Mutex::new(Vec::new()), in new() 59 mm_log_receiver: Mutex::new(mm_log_worker_mpsc.1), in new()
|
/DragonOS/kernel/src/libs/ |
H A D | mutex.rs | 30 pub struct Mutex<T> { struct 40 lock: &'a Mutex<T>, argument 43 unsafe impl<T> Sync for Mutex<T> where T: Send {} implementation 45 impl<T> Mutex<T> { implementation
|
/DragonOS/docs/kernel/sched/ |
H A D | rust_waiting.md | 65 …unlock_mutex() | 将当前进程挂起,并设置进程状态为PROC_INTERRUPTIBLE。待当前进程被插入等待队列后,解锁给定的Mutex | 67 …uninterruptible_unlock_mutex() | 将当前进程挂起,并设置进程状态为PROC_UNINTERRUPTIBLE。待当前进程被插入等待队列后,解锁给定的Mutex |
|
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/ |
H A D | mmu.rs | 3 libs::mutex::Mutex, 166 pub fn kvm_mmu_setup(vcpu: &Mutex<VmxVcpu>) { in kvm_mmu_setup() 171 pub fn kvm_vcpu_mtrr_init(_vcpu: &Mutex<VmxVcpu>) -> Result<(), SystemError> { in kvm_vcpu_mtrr_init() 176 pub fn init_kvm_tdp_mmu(vcpu: &Mutex<VmxVcpu>) { in init_kvm_tdp_mmu()
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.4.md | 36 - Mutex: new: Rust版本的Mutex (#157) 179 new: Rust版本的Mutex (#157)
|
/DragonOS/kernel/src/arch/x86_64/driver/ |
H A D | rtc.rs | 30 mutex::Mutex, 41 ops_mutex: Mutex<()>, 54 ops_mutex: Mutex::new(()), in new()
|
/DragonOS/kernel/src/exception/ |
H A D | irqdesc.rs | 25 mutex::{Mutex, MutexGuard}, 80 request_mutex: Mutex<()>, 119 request_mutex: Mutex::new(()), in new()
|
/DragonOS/user/apps/user-manage/src/executor/ |
H A D | executor.rs | 9 sync::Mutex, 13 static ref GLOBAL_FILE: Mutex<GlobalFile> = Mutex::new(GlobalFile::new());
|