From 03263a9977bf1f0c30b080b7f088238e83754a4d Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Wed, 24 Sep 2025 10:25:58 +0300 Subject: [PATCH] core: Wrap Connection::data_sync_retry with AtomicBool --- core/lib.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/lib.rs b/core/lib.rs index b04595609..b99ea4036 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -521,7 +521,7 @@ impl Database { encryption_key: RefCell::new(None), encryption_cipher_mode: Cell::new(None), sync_mode: Cell::new(SyncMode::Full), - data_sync_retry: Cell::new(false), + data_sync_retry: AtomicBool::new(false), busy_timeout: Cell::new(Duration::new(0, 0)), }); self.n_connections @@ -1017,7 +1017,7 @@ pub struct Connection { encryption_key: RefCell>, encryption_cipher_mode: Cell>, sync_mode: Cell, - data_sync_retry: Cell, + data_sync_retry: AtomicBool, /// User defined max accumulated Busy timeout duration /// Default is 0 (no timeout) busy_timeout: Cell, @@ -2140,11 +2140,13 @@ impl Connection { } pub fn get_data_sync_retry(&self) -> bool { - self.data_sync_retry.get() + self.data_sync_retry + .load(std::sync::atomic::Ordering::SeqCst) } pub fn set_data_sync_retry(&self, value: bool) { - self.data_sync_retry.set(value); + self.data_sync_retry + .store(value, std::sync::atomic::Ordering::SeqCst); } /// Creates a HashSet of modules that have been loaded