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 ba5eb6458a socket: fix BasicSocket#*_nonblock buffering bugs from r58400
IO#read_nonblock and IO#write_nonblock take into account
buffered data, so the Linux-only BasicSocket#read_nonblock
and BasicSocket#write_nonblock methods must, too.

This bug was only introduced in r58400
("socket: avoid fcntl for read/write_nonblock on Linux")
and does not affect any stable release.

* ext/socket/basicsocket.c (rsock_init_basicsocket):
* ext/socket/init.c (rsock_s_recvfrom_nonblock):
* ext/socket/init.c (rsock_init_socket_init):
* ext/socket/lib/socket.rb (def read_nonblock):
* ext/socket/lib/socket.rb (def write_nonblock):
* ext/socket/rubysocket.h (static inline void rsock_maybe_wait_fd):
* test/socket/test_basicsocket.rb (def test_read_write_nonblock):
  [Feature #13362]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-27 23:26:48 +00:00
..
lib socket: fix BasicSocket#*_nonblock buffering bugs from r58400 2017-10-27 23:26:48 +00:00
.document
addrinfo.h
ancdata.c
basicsocket.c socket: fix BasicSocket#*_nonblock buffering bugs from r58400 2017-10-27 23:26:48 +00:00
constants.c
depend
extconf.rb
getaddrinfo.c
getnameinfo.c
ifaddr.c
init.c socket: fix BasicSocket#*_nonblock buffering bugs from r58400 2017-10-27 23:26:48 +00:00
ipsocket.c
mkconstants.rb
option.c
raddrinfo.c
rubysocket.h socket: fix BasicSocket#*_nonblock buffering bugs from r58400 2017-10-27 23:26:48 +00:00
socket.c reference Socket.getaddrinfo to Addrinfo.getaddrinfo. 2017-10-21 23:23:05 +00:00
sockport.h
sockssocket.c
tcpserver.c
tcpsocket.c deprecate TCPSocket.gethostbyname. 2017-10-21 23:19:47 +00:00
udpsocket.c
unixserver.c
unixsocket.c