diff --git a/CHANGELOG.md b/CHANGELOG.md index 488d256a2..6750f5b83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Tantivy 0.8.2 +===================== +Fixing build for x86_64 platforms. (#496) +No need to update from 0.8.1 if tantivy +is building on your platform. + + +Tantivy 0.8.1 +===================== +Hotfix of #476. + +Merge was reflecting deletes before commit was passed. +Thanks @barrotsteindev for reporting the bug. + + Tantivy 0.8.0 ===================== *No change in the index format* diff --git a/Cargo.toml b/Cargo.toml index fc7a1ba0f..6cf5e4ba2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tantivy" -version = "0.8.0" +version = "0.8.2" authors = ["Paul Masurel "] license = "MIT" categories = ["database-implementations", "data-structures"] diff --git a/src/indexer/stamper.rs b/src/indexer/stamper.rs index f3fd1f943..036ef964f 100644 --- a/src/indexer/stamper.rs +++ b/src/indexer/stamper.rs @@ -27,22 +27,22 @@ mod archicture_impl { #[cfg(not(target_arch = "x86_64"))] mod archicture_impl { - /// Under other architecture, we rely on a mutex. - use std::sync::Mutex; use std::sync::atomic::Ordering; + /// Under other architecture, we rely on a mutex. + use std::sync::RwLock; #[derive(Default)] - pub struct AtomicU64Ersatz(Mutex); + pub struct AtomicU64Ersatz(RwLock); impl AtomicU64Ersatz { pub fn new(first_opstamp: u64) -> AtomicU64Ersatz { - AtomicU64Ersatz(AtomicUsize::new(first_opstamp)) + AtomicU64Ersatz(RwLock::new(first_opstamp)) } - pub fn fetch_add(&self, val: u64, _order: Ordering) -> u64 { - let lock = self.0.lock().unwrap(); + pub fn fetch_add(&self, incr: u64, _order: Ordering) -> u64 { + let mut lock = self.0.write().unwrap(); let previous_val = *lock; - *lock = previous_val + 1; + *lock = previous_val + incr; previous_val } }