mirror of
https://github.com/MedzikUser/servers
synced 2024-08-14 23:57:48 +00:00
796084d13e
- add macros for Mutex (currently unused) - change logger to tracing
39 lines
857 B
Rust
39 lines
857 B
Rust
/// Update value in the Mutex
|
|
///
|
|
/// ```
|
|
/// use std::sync::Mutex;
|
|
/// use servers::update_mutex;
|
|
///
|
|
/// // create a new Mutex
|
|
/// let mutex: Mutex<String> = Mutex::new(String::new());
|
|
///
|
|
/// // update the value in the Mutex
|
|
/// update_mutex!(mutex, "new value".to_string());
|
|
/// ```
|
|
#[macro_export]
|
|
macro_rules! update_mutex {
|
|
($mutex: expr, $($new_value:tt)+) => {
|
|
*$crate::lock_mutex!($mutex) = $($new_value)+;
|
|
};
|
|
}
|
|
|
|
/// Lock value in the Mutex
|
|
///
|
|
/// ```
|
|
/// use std::sync::Mutex;
|
|
/// use servers::lock_mutex;
|
|
///
|
|
/// // create a new Mutex
|
|
/// let mutex: Mutex<String> = Mutex::new("value".to_string());
|
|
///
|
|
/// // lock the Mutex
|
|
/// let value = lock_mutex!(mutex);
|
|
///
|
|
/// println!("{}", value);
|
|
/// ```
|
|
#[macro_export]
|
|
macro_rules! lock_mutex {
|
|
($mutex: expr) => {
|
|
$mutex.lock().expect("failed to lock mutex")
|
|
};
|
|
}
|