diff --git a/internal/sysfs/file_windows.go b/internal/sysfs/file_windows.go index 4aa100c89c9..129ce1fd458 100644 --- a/internal/sysfs/file_windows.go +++ b/internal/sysfs/file_windows.go @@ -85,12 +85,9 @@ func readSocket(h uintptr, buf []byte) (int, sys.Errno) { errno := syscall.ReadFile(syscall.Handle(h), buf, &done, &overlapped) if errors.Is(errno, syscall.ERROR_IO_PENDING) { nBytesTransferred, errno := getOverlappedResult(syscall.Handle(h), &overlapped, false) - if errno != 0 { - if errors.Is(errno, _ERROR_IO_INCOMPLETE) { - errno = syscall.EAGAIN - } + if errors.Is(errno, _ERROR_IO_INCOMPLETE) { + return int(nBytesTransferred), sys.EAGAIN } - done = nBytesTransferred } return int(done), sys.UnwrapOSError(errno)