[#85940] [Ruby trunk Bug#14578] Forking a child process inside of a mutex crashes the ruby interpreter — ben.govero@...
Issue #14578 has been reported by bengovero (Ben Govero).
3 messages
2018/03/05
[#86205] [Ruby trunk Feature#14618] Add display width method to String for CLI — aycabta@...
Issue #14618 has been reported by aycabta (aycabta .).
3 messages
2018/03/19
[#86366] Re: [ruby-cvs:70102] usa:r63008 (trunk): get rid of test error/failure on Windows introduced at r62955 — Eric Wong <normalperson@...>
usa@ruby-lang.org wrote:
3 messages
2018/03/28
[ruby-core:86039] [Ruby trunk Feature#4560] [PATCH] lib/net/protocol.rb: avoid exceptions in rbuf_fill
From:
mame@...
Date:
2018-03-08 09:09:56 UTC
List:
ruby-core #86039
Issue #4560 has been updated by mame (Yusuke Endoh). Assignee changed from akr (Akira Tanaka) to normalperson (Eric Wong) @normalperson, I think that this issue has been fixed more elegantly by introducing `read_nonblock(exception: false)`. Am I right? ---------------------------------------- Feature #4560: [PATCH] lib/net/protocol.rb: avoid exceptions in rbuf_fill https://bugs.ruby-lang.org/issues/4560#change-70900 * Author: normalperson (Eric Wong) * Status: Assigned * Priority: Normal * Assignee: normalperson (Eric Wong) * Target version: ---------------------------------------- Blindly hitting IO#read_nonblock() and raising is expensive due to two factors: 1) method cache being scanned/cleared when the IO::WaitReadable extended class is GC-ed 2) backtrace generation This reduces the likelyhood of an IO::WaitReadable exception, but spurious wakeup can still occur due to bad TCP checksums. This optimization only applies to non-OpenSSL sockets. I am using IO#wait here instead of IO.select() since IO#wait is not available on OpenSSL sockets. ---Files-------------------------------- 0001-lib-net-protocol.rb-avoid-exceptions-in-rbuf_fill.patch (1.3 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>