[ruby-core:69594] Re: [Ruby trunk - Feature #11139] [Feedback] [PATCH] socket: accept_nonblock supports "nonblock: false" kwarg

From: Eric Wong <normalperson@...>
Date: 2015-06-15 23:40:10 UTC
List: ruby-core #69594
akr@fsij.org wrote:
> So the proposed kwarg is almost no-op at Ruby level.

Agree.

> It may reduce system calls, though.

Yes.  Also, real blocking send/recv family calls without select/ppoll
allows for exclusive "wake-one" behavior to avoid thundering herds on
wakeup.

Because there is no thundering herd, exclusive wakeup also improves
fairness if multiple threads/processes share the socket for packetized
I/O

> 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.

Perhaps "sock_nonblock" to match the Linux flag name? (SOCK_NONBLOCK)

In This Thread

Prev Next