b8b7b69ba0512fe0a08a346d6b0c9f0b777f24fe
Both tasks the detached-lock-wait path starts and discards now carry the file's fault-observing continuation, factored out of ObserveAbandonedFault as ObserveFault so the idiom has one definition. DrainDetachedAsync swallows the drain but its _writeLock.Release() sits in a finally outside that catch, so a Release that ever throws — a SemaphoreFullException from some future double-release regression — had no awaiter and would have surfaced on net48 as TaskScheduler.UnobservedTaskException at finalization instead of an attributable failure. Same for a throw out of OnDetachedLockWaitSettled. Review's Minor (distinguishing a cancelled from a faulted lock wait before tombstoning) is deliberately not taken: a faulted WaitAsync is unreachable here — nothing disposes _writeLock — so the branch would be untestable new logic whose only effect is internal state, the caller already receiving the fault itself from the rethrow. Recorded as a comment at the site instead. edited on macOS, windev verification pending (plan Task 11). Re-ran the net10 scratch harness over WorkerFrameWriter and the writer suite: 0 warnings, 31/31 pass.
Description
No description provided
Languages
C#
47.5%
Java
40.8%
Python
3.3%
Rust
3.1%
Go
2.6%
Other
2.7%