-
-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Thread safety in ObservableCache.Connect (regression) #538
Comments
RolandPheasant
added a commit
that referenced
this issue
Dec 18, 2021
Hopefully the PR will fix it. |
glennawatson
added a commit
that referenced
this issue
Dec 18, 2021
Looks good. Thanks for the fast turnaround. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The thread safety of
ObservableCache.Connect
(previously fixed in #377) is broken again by #472.It is imperative to hold the lock on
_locker
while fetching the initial changeset and subscribing to changes. Otherwise any changes made from another thread between the point when, for a new subscription,InternalEx.Return
computes the initial state, and later theConcat
impl subscribes to_changes
, will be lost.DynamicData/src/DynamicData/Cache/ObservableCache.cs
Lines 106 to 131 in 811b32e
(Observed in 7.4.3, but should affect 7.1.16 onwards.)
The text was updated successfully, but these errors were encountered: