From: akr@... Date: 2015-06-14T10:09:16+00:00 Subject: [ruby-core:69576] [Ruby trunk - Feature #11139] [Feedback] [PATCH] socket: accept_nonblock supports "nonblock: false" kwarg Issue #11139 has been updated by Akira Tanaka. Status changed from Open to Feedback The status of nonblocking flag is not so important in Ruby because most methods works regardless of the flag. (Nonblocking methods sets the flag internally. Blocking methods retry on EAGAIN/EWOULDBLOCK internally.) So the proposed kwarg is almost no-op at Ruby level. It may reduce system calls, though. I'm not sure the kwarg is worth enough to provide at Ruby level. But, if it is provided, it should have descriptive name. "nonblock" and "block" is too short. ---------------------------------------- Feature #11139: [PATCH] socket: accept_nonblock supports "nonblock: false" kwarg https://bugs.ruby-lang.org/issues/11139#change-52916 * Author: Eric Wong * Status: Feedback * Priority: Normal * Assignee: Akira Tanaka ---------------------------------------- [PATCH 2/2] socket: accept_nonblock supports "nonblock: false" kwarg An application wanting to do non-blocking accept may want to create a blocking accepted socket, allow it with a kwarg while preserving default behavior. If this patch is accepted, I'd also like to support the opposite for blocking accept calls: a = s.accept(nonblock: true) # blocking accept syscall a.nonblock? # => true s.nonblock? # => false This requires the simple patch in [Feature #11138] I'm unsure if ":nonblock" is a good keyword to use, since it is somewhat confusing ---Files-------------------------------- 0002-socket-accept_nonblock-supports-nonblock-false-kwarg.patch (2.94 KB) -- https://bugs.ruby-lang.org/