]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.25] internal/poll: set the correct file offset in FD.Seek for...
authorqmuntal <quimmuntal@gmail.com>
Tue, 19 Aug 2025 10:10:54 +0000 (12:10 +0200)
committerCherry Mui <cherryyz@google.com>
Mon, 25 Aug 2025 18:19:12 +0000 (11:19 -0700)
commit8995e84ac64dd5d614f851a60d97ba026a9e6fb1
tree3b212d1458909c0520a2c81f8b197c46ff5dcf93
parent749dff880af3e7ac0b41fbc6a41cfb6fff6e80b9
[release-branch.go1.25] internal/poll: set the correct file offset in FD.Seek for Windows overlapped handles

Windows doesn't keep the file pointer for overlapped file handles. To
work around this, we keep track of the current offset ourselves and use
it on every Read/Write operation.

When the user calls File.Seek with whence == io.SeekCurrent, it expects
that the offset we keep track of is also accounted for, else the the
seek'ed value won't match the file pointer seen by the user.

Fixes #75083.

Change-Id: Ieca7c3779e5349292883ffc293a8474088a4dec7
Reviewed-on: https://go-review.googlesource.com/c/go/+/697275
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
(cherry picked from CL 697275)
Reviewed-on: https://go-review.googlesource.com/c/go/+/697995
src/internal/poll/fd_windows.go
src/os/os_windows_test.go