Skip to content

Commit

Permalink
v5.2 - Resolve possible memory leak in arcache (#117)
Browse files Browse the repository at this point in the history
If the write miss thread local cache was enabled, a mistake
existed in the case where the write thread is under high pressure
which could lead to memory being leaked. Nodes are now wrapped
in a safe wrapper to ensure they can not be leaked.
  • Loading branch information
Firstyear authored Jun 17, 2024
1 parent 88df5f0 commit 0882992
Show file tree
Hide file tree
Showing 15 changed files with 726 additions and 568 deletions.
10 changes: 7 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "concread"
version = "0.5.1"
version = "0.5.2"
authors = ["William Brown <william@blackhats.net.au>"]
edition = "2021"
description = "Concurrently Readable Data-Structures for Rust"
Expand Down Expand Up @@ -29,13 +29,18 @@ arcache = ["maps", "lru", "crossbeam-queue"]
skinny = []
hashtrie_skinny = []

default = ["asynch", "ahash", "ebr", "maps", "arcache"]
default = ["asynch", "ahash", "ebr", "maps", "arcache-is-hashtrie"]
dhat-heap = ["dep:dhat"]

arcache-is-hashmap = ["arcache"]
arcache-is-hashtrie = ["arcache"]

[dependencies]
ahash = { version = "0.8", optional = true }
crossbeam-utils = { version = "0.8.12", optional = true }
crossbeam-epoch = { version = "0.9.11", optional = true }
crossbeam-queue = { version = "0.3.6", optional = true }
dhat = { version = "0.3.3", optional = true }
lru = { version = "0.12", optional = true }
serde = { version = "1.0", optional = true }
smallvec = { version = "1.4", optional = true }
Expand All @@ -47,7 +52,6 @@ tracing = "0.1"
[dev-dependencies]
criterion = { version = "0.3", features = ["html_reports"] }
rand = "0.8"
time = "0.3"
tracing-subscriber = { version = "0.3", features = ["env-filter", "std", "fmt"] }
uuid = "1.0"
function_name = "0.3"
Expand Down
Loading

0 comments on commit 0882992

Please sign in to comment.