@@ -226,7 +226,7 @@ internal static HashSet<JoinableTask> GetDependentTasksFromCandidates(IEnumerabl
226226 /// <param name="syncTask">A thread blocking sychornizing task.</param>
227227 /// <param name="allReachableNodes">Returns all reachable nodes in the connected dependency graph, if unreachable dependency is found.</param>
228228 /// <returns>True if it removes any unreachable items.</returns>
229- internal static bool CleanUpPotentialUnreachableDependentItems ( JoinableTask syncTask , [ MaybeNullWhen ( false ) ] out HashSet < IJoinableTaskDependent > ? allReachableNodes )
229+ internal static bool CleanUpPotentialUnreachableDependentItems ( JoinableTask syncTask , [ NotNullWhen ( true ) ] out HashSet < IJoinableTaskDependent > ? allReachableNodes )
230230 {
231231 Requires . NotNull ( syncTask , nameof ( syncTask ) ) ;
232232
@@ -254,11 +254,8 @@ internal static bool CleanUpPotentialUnreachableDependentItems(JoinableTask sync
254254 return true ;
255255 }
256256 }
257- else
258- {
259- allReachableNodes = null ;
260- }
261257
258+ allReachableNodes = null ;
262259 return false ;
263260 }
264261
@@ -607,7 +604,7 @@ internal bool HasMainThreadSynchronousTaskWaiting(IJoinableTaskDependent taskIte
607604 {
608605 // This might remove the current tracking item from the linked list, so we capture next node first.
609606 if ( ! CleanUpPotentialUnreachableDependentItems ( existingTaskTracking . SynchronousTask , out HashSet < IJoinableTaskDependent > ? allReachableNodes ) ||
610- allReachableNodes ! . Contains ( taskItem ) )
607+ allReachableNodes . Contains ( taskItem ) )
611608 {
612609 // this task is still a dependenting task
613610 return true ;
@@ -877,7 +874,9 @@ private static void RemoveDependingSynchronousTaskFrom(IReadOnlyList<IJoinableTa
877874 {
878875 if ( force )
879876 {
880- Assumes . True ( reachableNodes ! . Count == 0 ) ;
877+ Assumes . NotNull ( reachableNodes ) ;
878+ Assumes . True ( reachableNodes . Count == 0 ) ;
879+
881880 RemoveUnreachableDependentItems ( syncTask , remainNodes , reachableNodes ) ;
882881
883882 syncTask . PotentialUnreachableDependents = null ;
0 commit comments