mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
|
||
|---|---|---|
| .. | ||
| lib | ||
| .document | ||
| addrinfo.h | ||
| ancdata.c | ||
| basicsocket.c | ||
| constants.c | ||
| depend | ||
| extconf.rb | ||
| getaddrinfo.c | ||
| getnameinfo.c | ||
| ifaddr.c | ||
| init.c | ||
| ipsocket.c | ||
| mkconstants.rb | ||
| option.c | ||
| raddrinfo.c | ||
| rubysocket.h | ||
| socket.c | ||
| sockport.h | ||
| sockssocket.c | ||
| tcpserver.c | ||
| tcpsocket.c | ||
| udpsocket.c | ||
| unixserver.c | ||
| unixsocket.c | ||