ml.ruby-lang.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

ruby-core

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
ruby-core@ml.ruby-lang.org

April 2024

  • 1 participants
  • 261 discussions
[ruby-core:116534] [Ruby master Bug#20231] Don't wait in io_binwrite_string if not necessary.
by ioquatix (Samuel Williams) 01 Apr '24

01 Apr '24
Issue #20231 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #20231: Don't wait in io_binwrite_string if not necessary. https://bugs.ruby-lang.org/issues/20231 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Backport: 3.2: REQUIRED, 3.3: REQUIRED ---------------------------------------- PR: https://github.com/ruby/ruby/pull/9792 Writing to a buffered IO can result in the entire internal buffer being flushed, which causes `io_binwrite_string_internal` to return 0. In that case, we were setting `errno = EAGAIN`. This causes `rb_io_maybe_wait_writable` to be invoked, however we should immediately retry `io_binwrite_string_internal` instead. The reason why calling `rb_io_maybe_wait_writable` is a bad idea in general, is that not all IO can go via this mechanism in every situation - in other words, `kqueue` does not support `kevent("/dev/null", writable)` and returns errno=22 `EINVAL`. The same applies to some kinds of pipes, TTYs, etc. Indirectly responsible for <https://github.com/socketry/async/issues/301>. -- https://bugs.ruby-lang.org/
3 7
0 0
  • ← Newer
  • 1
  • ...
  • 24
  • 25
  • 26
  • 27
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.