aboutsummaryrefslogtreecommitdiff
path: root/src/model
diff options
context:
space:
mode:
authorAlex Auvolat <lx@deuxfleurs.fr>2025-02-14 18:11:44 +0100
committerAlex Auvolat <lx@deuxfleurs.fr>2025-02-14 18:12:14 +0100
commit24470377c93bba8edcfa0339779e3b911852bab4 (patch)
tree76be8b068c18f980adaf8c657b4ea3c772ae78dd /src/model
parent5b26545abf1837e084cc8bbb80373809fe6f3949 (diff)
downloadgarage-24470377c93bba8edcfa0339779e3b911852bab4.tar.gz
garage-24470377c93bba8edcfa0339779e3b911852bab4.zip
garage_model: fix warning about dead code
Diffstat (limited to 'src/model')
-rw-r--r--src/model/garage.rs2
-rw-r--r--src/model/helper/locked.rs9
2 files changed, 9 insertions, 2 deletions
diff --git a/src/model/garage.rs b/src/model/garage.rs
index 29e0bddd..11c0d90f 100644
--- a/src/model/garage.rs
+++ b/src/model/garage.rs
@@ -329,7 +329,7 @@ impl Garage {
pub async fn locked_helper(&self) -> helper::locked::LockedHelper {
let lock = self.bucket_lock.lock().await;
- helper::locked::LockedHelper(self, lock)
+ helper::locked::LockedHelper(self, Some(lock))
}
}
diff --git a/src/model/helper/locked.rs b/src/model/helper/locked.rs
index 43f4f363..482e91b0 100644
--- a/src/model/helper/locked.rs
+++ b/src/model/helper/locked.rs
@@ -27,9 +27,16 @@ use crate::permission::BucketKeyPerm;
/// See issues: #649, #723
pub struct LockedHelper<'a>(
pub(crate) &'a Garage,
- pub(crate) tokio::sync::MutexGuard<'a, ()>,
+ pub(crate) Option<tokio::sync::MutexGuard<'a, ()>>,
);
+impl<'a> Drop for LockedHelper<'a> {
+ fn drop(&mut self) {
+ // make it explicit that the mutexguard lives until here
+ drop(self.1.take())
+ }
+}
+
#[allow(clippy::ptr_arg)]
impl<'a> LockedHelper<'a> {
pub fn bucket(&self) -> BucketHelper<'a> {