Commit 43df6ed
Fix SynchronizedSparseStream Position never advancing (regressed in 4b5b75d)
The synchronized wrapper kept its own Position auto-property and set
content.Position = Position before each operation but never wrote the advanced position
back afterward, so Position stayed frozen and reads/writes through the wrapper
re-processed the same offset (e.g. ExFat ReadLongSparseLimited read the wrong data).
Delegate Position to content.Position under the lock - correct for this single-shared-
cursor synchronized wrapper and fixes every read/write path (sync and async) at once.
Introduced by 4b5b75d ("Synchronized wrappers for disks and streams").
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 07e74d2 commit 43df6ed
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
659 | | - | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
660 | 664 | | |
661 | 665 | | |
662 | 666 | | |
| |||
0 commit comments