1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/socket
normal 8ff35b816a ext/socket/init.c: use SOCK_NONBLOCK if available
This saves a system call by allowing us to use SOCK_NONBLOCK in
Linux when accept4 is available.

Note: I do not agree accept_nonblock should always make accepted
sockets non-blocking, and will propose a future API to allow
controlling whether accepted sockets are non-blocking or not
regardless of how they were created.

* ext/socket/init.c (cloexec_accept): support nonblock flag and
  use SOCK_NONBLOCK if possible
* ext/socket/init.c (rsock_s_accept_nonblock): update cloexec_accept call
* ext/socket/init.c (accept_blocking): ditto for blocking
* test/socket/test_nonblock.rb: check nonblock? on accepted socket
  [Feature #11138]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-17 05:56:07 +00:00
..
lib stdlib: use IO#wait_*able instead of IO.select when possible 2015-05-06 20:30:43 +00:00
.document
addrinfo.h
ancdata.c ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard 2015-05-08 22:31:02 +00:00
basicsocket.c
constants.c use frozen string of symbols 2015-04-14 03:31:28 +00:00
depend
extconf.rb
getaddrinfo.c
getnameinfo.c
ifaddr.c ifaddr.c: wrapper object before alloc 2015-05-16 12:57:17 +00:00
init.c ext/socket/init.c: use SOCK_NONBLOCK if available 2015-05-17 05:56:07 +00:00
ipsocket.c ipsocket.c: fix merge miss 2015-04-30 07:45:36 +00:00
mkconstants.rb
option.c
raddrinfo.c
rubysocket.h
socket.c connect_nonblock(..., exception: false) does not raise EISCONN 2015-04-20 02:11:10 +00:00
sockport.h
sockssocket.c
tcpserver.c
tcpsocket.c
udpsocket.c
unixserver.c
unixsocket.c