[#69084] [Ruby trunk - Feature #11124] [Open] [PATCH] lib/*: use monotonic clock for timeouts — normalperson@...
Issue #11124 has been reported by Eric Wong.
5 messages
2015/05/06
[#69138] [Ruby trunk - Feature #11136] [PATCH] webrick: avoid fcntl module — nobu@...
Issue #11136 has been updated by Nobuyoshi Nakada.
3 messages
2015/05/12
[#69160] [Ruby trunk - Feature #11146] [PATCH] variable.c: initialize generic_iv_tbl at start — nobu@...
Issue #11146 has been updated by Nobuyoshi Nakada.
4 messages
2015/05/13
[#69175] Re: [Ruby trunk - Feature #11146] [PATCH] variable.c: initialize generic_iv_tbl at start
— Eric Wong <normalperson@...>
2015/05/13
nobu@ruby-lang.org wrote:
[ruby-core:69369] [Ruby trunk - Feature #11145] [PATCH] socket: avoid redundant fcntl with MSG_DONTWAIT
From:
normalperson@...
Date:
2015-05-26 21:25:29 UTC
List:
ruby-core #69369
Issue #11145 has been updated by Eric Wong. File 0001-socket-avoid-redundant-fcntl-on-Linux.patch added Better patch to support sending, too. I'm limiting this to Linux-only since it seems newer FreeBSD has support for MSG_DONTWAIT, but I'm not sure it is complete. I'll commit in a few days ---------------------------------------- Feature #11145: [PATCH] socket: avoid redundant fcntl with MSG_DONTWAIT https://bugs.ruby-lang.org/issues/11145#change-52643 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Akira Tanaka ---------------------------------------- MSG_DONTWAIT is enough to force non-blocking I/O under Linux, so avoid changing the state of a socket. This will allow certain threads to do a non-destructive non-blocking "peek" while others block (without relying on an extra ppoll syscall). I suspect any OS with the MSG_DONTWAIT flag implements it correctly. AFAIK, MSG_DONTWAIT is only on FreeBSD and Linux, and I've only tested on Linux. * ext/socket/init.c (rsock_s_recvfrom_nonblock): avoid redundant fcntl ---Files-------------------------------- 0001-ext-socket-init.c-rsock_s_recvfrom_nonblock-avoid-re.patch (1.02 KB) 0001-socket-avoid-redundant-fcntl-on-Linux.patch (3.15 KB) -- https://bugs.ruby-lang.org/