Comments (5)
Also unable to reproduce on Windows stable as of now. The location makes me think of
the "race" discussed in #72 (review) as a likely candidate. We talked about how the tokens are required because they might have to be available before the waiting threads park
s. However, your concern there may still be valid wrt. the reading thread seeing the stored WAITER
in lock_state
, the stored waiter
as non-null, but in the meantime the writing thread re-checks lock_state
and not only swaps out the waiter
, but cleans it up with into_owned
. Might need to be defer_destroy
, to handle the above case.
from flurry.
I need to leave now and will have to come back to this (and maybe setup a Linux nightly for testing). If you have time, maybe try this out in the meantime.
from flurry.
Hmm, I wonder why the Java code does not have to deal with that...
from flurry.
If this ends up being the cause, it would be because the reading thread holds a reference to the Thread handle in question, so it cannot get GC'd (they don't [have to] use atomic pointers)
from flurry.
Ah, that's a good point. Let me try making that a deferred destroy.
from flurry.
Related Issues (20)
- `#![deny(unsafe_op_in_unsafe_fn)]`
- Fails to build on arm HOT 1
- Memory usage in Flurry Hashmap HOT 16
- Hashmap lacks of get_mut API HOT 1
- Bump ahash dependency version to 0.8.5 HOT 4
- Allow use of pre-hashed keys HOT 1
- Tedious map constructors HOT 2
- Expose non-replacing `insert` HOT 17
- Implement Drain and IntoIterator HOT 2
- Replacing map elements incorrectly decrements the map's element count HOT 2
- Implement `HashSet::replace` HOT 3
- Optimize garbage collection HOT 4
- Run cargo audit in CI? HOT 2
- Racy test failure: treeifying a Moved entry HOT 8
- map::tree_bins::concurrent_tree_bin: attempt to subtract with overflow HOT 5
- HashMap enters unreachable code in try_insert HOT 2
- Miri CI invocation needs updating HOT 3
- Use of deprecated `compare_and_swap` and `spin_loop_hint` HOT 1
- Unsoundness in `HashMap::clear` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flurry.