[ruby-core:120674] [Ruby master Bug#21038] Preserve `errno` in `rb_fiber_scheduler_unblock`

Issue #21038 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock` https://bugs.ruby-lang.org/issues/21038 * Author: ioquatix (Samuel Williams) * Status: Open * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- `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. -- https://bugs.ruby-lang.org/

Issue #21038 has been updated by k0kubun (Takashi Kokubun). 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) commit:04ec07794657cd2444ecb001a522b9df2db1b90a. ---------------------------------------- Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock` https://bugs.ruby-lang.org/issues/21038#change-111518 * Author: ioquatix (Samuel Williams) * Status: Closed * Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE, 3.4: REQUIRED ---------------------------------------- `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. -- https://bugs.ruby-lang.org/

Issue #21038 has been updated by nagachika (Tomoyuki Chikanaga). 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 ruby_3_2 commit:97243cc9c76b9cc2803cfd1c01165ab5bd432450 merged revision(s) commit:04ec07794657cd2444ecb001a522b9df2db1b90a. ---------------------------------------- Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock` https://bugs.ruby-lang.org/issues/21038#change-111660 * Author: ioquatix (Samuel Williams) * Status: Closed * Backport: 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: REQUIRED ---------------------------------------- `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. -- https://bugs.ruby-lang.org/

Issue #21038 has been updated by k0kubun (Takashi Kokubun). 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 ruby_3_4 commit:2108ab2cb68e9d975e4dcf035a11243e1173336f merged revision(s) commit:04ec07794657cd2444ecb001a522b9df2db1b90a. ---------------------------------------- Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock` https://bugs.ruby-lang.org/issues/21038#change-111930 * Author: ioquatix (Samuel Williams) * Status: Closed * Backport: 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: DONE ---------------------------------------- `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. -- https://bugs.ruby-lang.org/
participants (3)
-
ioquatix (Samuel Williams)
-
k0kubun (Takashi Kokubun)
-
nagachika (Tomoyuki Chikanaga)