Skip to content

[pull] master from ruby:master - #1448

Merged
pull[bot] merged 14 commits into
turkdevops:masterfrom
ruby:master
Sep 26, 2026
Merged

pull[bot] merged 14 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

hsbt and others added 14 commits September 26, 2026 17:50
Update the default `NTVER` so that the declarations of APIs introduced in Windows 10 are enabled. `_WIN32_WINNT` has no value for version 1809, the new minimum, so `_WIN32_WINNT_WIN10` is the closest one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows Server 2016 and Windows 10 Enterprise LTSB 2016 reach end of support by January 2027. Version 1809 is the oldest release still supported afterwards, as Windows Server 2019 and Windows 10 Enterprise LTSC 2019 until January 2029.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* io: preserve data after read timeout

* io: make timeout regression tests robust against small send buffers

A synchronous write of the whole payload blocks forever once the socket
send buffer fills (8 KiB by default on macOS and Windows), hanging the test
before any read. Write a small prefix synchronously, deliver the remainder
from a writer thread, and drain it with a generous timeout before joining.

* io: give timeout regression tests time to consume the full payload

A 0.1s deadline lets the timed read drain the whole payload from the writer
thread before raising, so the multi-chunk rollback stays exercised even
where the send buffer is smaller than the payload.
`size_t` may be less than `off_t`
DOSISH is defined only on _WIN32, which has used USE_NAME_ON_FS_REAL_BASENAME since 45df1c2, so this code is never compiled. It even passes an undeclared `basename` to do_opendir.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On Windows the default case already sets hasalpha for '~' because IS_WIN32 is 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
include/ruby/win32.h and win32/dir.h have mapped them to the rb_w32_u* functions since 5b98b2c.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mswin takes the CPU name from MSVC, as it reports x64 rather than x86_64 on x64.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On Windows, Process.kill raises Errno::ESRCH for a child that has exited but has not been reaped, so terminate returned a stale $? and left the child to ZombieHunter. TestIO#test_write_32bit_boundary hit this on Windows 11-arm, where the child finished writing after its timeout expired and before it was killed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IO#gets first searches for separator candidates by looking for the last
byte of the record separator, and then checks whether it is an actual
match.

If a candidate is found at limit-th byte of the stream but is rejected
because it does not start at a character boundary, the limit check is
incorrectly skipped.

[Bug #22342]
@pull pull Bot locked and limited conversation to collaborators Sep 26, 2026
@pull pull Bot added the ⤵️ pull label Sep 26, 2026
@pull
pull Bot merged commit 2270062 into turkdevops:master Sep 26, 2026
1 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants