Bug #21038 closed
Preserve `errno` in `rb_fiber_scheduler_unblock`
Added by ioquatix (Samuel Williams) 4 months ago.
Updated 3 months ago.
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.
Status changed from Open to Closed
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
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
Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE, 3.4: REQUIRED to 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: REQUIRED
Backport changed from 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: REQUIRED to 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: DONE
Also available in: Atom
PDF
Like 0
Like 0 Like 0 Like 0 Like 0 Like 0