Lines Matching +full:cross +full:- +full:spawn
3 //! This crate provides a simple and cross-platform implementation of named locks.
12 //! fn main() -> Result<()> {
50 // unlock must be performed. To avoid re-locking, we guard it with real mutex.
54 // re-lock it. To avoid this, we ensure that one `HANDLE` exists in each
60 /// Cross-process lock that is identified by name.
87 /// [global]: https://docs.microsoft.com/en-us/windows/win32/termserv/kernel-object-namespaces
88 …/// [`CreateMutexW`]: https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-crea…
89 pub fn create(name: &str) -> Result<NamedLock> { in create()
99 // Both platforms expect null-terminated strings, in create()
100 // so we block null-bytes. in create()
127 pub fn with_path<P>(path: P) -> Result<NamedLock> in with_path()
134 fn _create(name: NameType) -> Result<NamedLock> { in _create()
154 pub fn try_lock(&self) -> Result<NamedLockGuard> { in try_lock()
165 pub fn lock(&self) -> Result<NamedLockGuard> { in lock()
197 fn call_proc_num(num: u32, uuid: &str) -> Child { in call_proc_num()
204 .spawn() in call_proc_num()
209 fn cross_process_lock() -> Result<()> { in cross_process_lock()
255 fn edge_cases() -> Result<()> { in edge_cases()