Move context retrieval inside lock

This commit is contained in:
Dean Herbert 2022-01-24 17:45:31 +09:00
parent cb319cebdb
commit 52cd906af6
1 changed files with 5 additions and 5 deletions

View File

@ -309,13 +309,13 @@ private void registerSubscription(Func<Realm, IDisposable?> action)
{
Debug.Assert(ThreadSafety.IsUpdateThread);
// Retrieve context outside of flag update to ensure that the context is constructed,
// as attempting to access it inside the subscription if it's not constructed would lead to
// cyclic invocations of the subscription callback.
var realm = Context;
lock (contextLock)
{
// Retrieve context outside of flag update to ensure that the context is constructed,
// as attempting to access it inside the subscription if it's not constructed would lead to
// cyclic invocations of the subscription callback.
var realm = Context;
Debug.Assert(!customSubscriptionsResetMap.TryGetValue(action, out var found) || found == null);
current_thread_subscriptions_allowed.Value = true;