Project

General

Profile

Actions

Bug #21038

closed

Preserve `errno` in `rb_fiber_scheduler_unblock`

Added by ioquatix (Samuel Williams) about 18 hours ago. Updated about 13 hours ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:120674]

Description

rb_fiber_scheduler_unblock can invoke user code that can affect errno, and at least in io_binwrite, this is unexpected. Whether io_binwrite should be fixed is a separate issue (it probably should be, as errno is not explicitly preserved or documented how it is preserved).

See https://github.com/socketry/io-event/issues/127 for more discussion.

Actions #1

Updated by Anonymous about 17 hours ago

  • Status changed from Open to Closed

Applied in changeset git|04ec07794657cd2444ecb001a522b9df2db1b90a.


Preserve errno in rb_fiber_scheduler_unblock. (#12576)

[Bug #21038]

Co-authored-by: Julian Scheid

Actions #2

Updated by ioquatix (Samuel Williams) about 17 hours ago

  • Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED

Updated by k0kubun (Takashi Kokubun) about 13 hours ago

  • Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE, 3.4: REQUIRED

ruby_3_3 commit:02bcfb42be7ca97fa40c6efa2f03ddff66c9257c merged revision(s) 04ec07794657cd2444ecb001a522b9df2db1b90a.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0