switch Rcu to the arcu crate
The arcu crate is a more general implementation of the Rcu I implemented in here in scryer. It contains some bug-fixes regarding race-conditions in the Rcu update function, which could cause leaks and uses after free. Source of the problem was the Relaxed load/strore/update of the reference count in side the Arc not being properly ordered with other load/stores.
This commit is contained in:
7
Cargo.lock
generated
7
Cargo.lock
generated
@@ -108,6 +108,12 @@ dependencies = [
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arcu"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8727c0fb4c436605c8f11c579ec86edcb729134aec4ee66e454efd99a91859f"
|
||||
|
||||
[[package]]
|
||||
name = "arrayvec"
|
||||
version = "0.5.2"
|
||||
@@ -2558,6 +2564,7 @@ dependencies = [
|
||||
name = "scryer-prolog"
|
||||
version = "0.9.4"
|
||||
dependencies = [
|
||||
"arcu",
|
||||
"assert_cmd",
|
||||
"base64 0.12.3",
|
||||
"bit-set",
|
||||
|
||||
Reference in New Issue
Block a user