Commit fb6d9bd
committed
fix: Harden AsyncWriteCollection against edge cases
- Guard queuedBytes decrement with Remove() return value check,
preventing queuedBytes from going negative if Remove is called
for an already-removed key
- Catch unhandled exceptions in Task.Run body to prevent
UnobservedTaskException: since Remove() in the finally block
removes the task from the collection before the exception
propagates, AwaitAllCurrentTasks() would never observe it
- Add null filter in AwaitAllCurrentTasks for defensive safety1 parent 61a05ff commit fb6d9bd
1 file changed
+15
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
47 | | - | |
48 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
| |||
75 | 78 | | |
76 | 79 | | |
77 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
78 | 89 | | |
79 | 90 | | |
80 | 91 | | |
| |||
88 | 99 | | |
89 | 100 | | |
90 | 101 | | |
91 | | - | |
| 102 | + | |
92 | 103 | | |
93 | 104 | | |
94 | 105 | | |
| |||
0 commit comments