From ec4eb52734730434226e43068efe7a16f0db59b1 Mon Sep 17 00:00:00 2001 From: Diego Reis Date: Mon, 2 Jun 2025 19:21:13 -0300 Subject: [PATCH] core/wal: Refactor open_shared for readability --- core/storage/wal.rs | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) diff --git a/core/storage/wal.rs b/core/storage/wal.rs index 039d5d2e9..fb998064d 100644 --- a/core/storage/wal.rs +++ b/core/storage/wal.rs @@ -1,6 +1,7 @@ #![allow(clippy::arc_with_non_send_sync)] #![allow(clippy::not_unsafe_ptr_arg_deref)] +use std::array; use std::cell::UnsafeCell; use std::collections::HashMap; use tracing::{debug, trace}; @@ -896,7 +897,7 @@ impl WalFileShared { let header = if file.size()? > 0 { let wal_file_shared = sqlite3_ondisk::read_entire_wal_dumb(&file)?; // TODO: Return a completion instead. - let mut max_loops = 100000; + let mut max_loops = 100_000; while !unsafe { &*wal_file_shared.get() } .loaded .load(Ordering::SeqCst) @@ -953,33 +954,11 @@ impl WalFileShared { last_checksum: checksum, file, pages_in_frames: Arc::new(SpinLock::new(Vec::new())), - read_locks: [ - LimboRwLock { - lock: AtomicU32::new(NO_LOCK), - nreads: AtomicU32::new(0), - value: AtomicU32::new(READMARK_NOT_USED), - }, - LimboRwLock { - lock: AtomicU32::new(NO_LOCK), - nreads: AtomicU32::new(0), - value: AtomicU32::new(READMARK_NOT_USED), - }, - LimboRwLock { - lock: AtomicU32::new(NO_LOCK), - nreads: AtomicU32::new(0), - value: AtomicU32::new(READMARK_NOT_USED), - }, - LimboRwLock { - lock: AtomicU32::new(NO_LOCK), - nreads: AtomicU32::new(0), - value: AtomicU32::new(READMARK_NOT_USED), - }, - LimboRwLock { - lock: AtomicU32::new(NO_LOCK), - nreads: AtomicU32::new(0), - value: AtomicU32::new(READMARK_NOT_USED), - }, - ], + read_locks: array::from_fn(|_| LimboRwLock { + lock: AtomicU32::new(NO_LOCK), + nreads: AtomicU32::new(0), + value: AtomicU32::new(READMARK_NOT_USED), + }), write_lock: LimboRwLock { lock: AtomicU32::new(NO_LOCK), nreads: AtomicU32::new(0),