Commit 62082a5
Lifeng Lu
Move a condition check inside RemoveDependingSynchronousTask to one of its callers.
That condition check is not necessary during cleanup when a dependency is removed. When ref-count of completed syncTask is left behind due to the earlier error (mismatching logic), this one can prevent the left behind refcount to be cleaned up, and will leave it behind even when the circular loop is removed. Due to the new logic skip rescanning when it thinks no circular reference can be formed more aggresively, it will remain in the graph for long time without being cleaned up.1 parent 3e85f7e commit 62082a5
File tree
1 file changed
+6
-6
lines changed- src/Microsoft.VisualStudio.Threading
1 file changed
+6
-6
lines changedLines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
502 | 502 | | |
503 | 503 | | |
504 | 504 | | |
505 | | - | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
506 | 510 | | |
507 | 511 | | |
508 | 512 | | |
| |||
849 | 853 | | |
850 | 854 | | |
851 | 855 | | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
| 856 | + | |
857 | 857 | | |
858 | 858 | | |
859 | 859 | | |
| |||
0 commit comments