ruby/ext
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
..
-test- load.c: fix rb_load_protect condition 2017-09-24 05:22:23 +00:00
bigdecimal ext: check if null byte is contained 2017-09-30 08:35:23 +00:00
cgi/escape cgi/util.rb: Don't escape tilde in #escape 2017-05-17 12:34:59 +00:00
continuation Update dependencies 2016-07-06 05:48:13 +00:00
coverage Add column numbers to branch coverage 2017-10-22 13:18:40 +00:00
date ext/date/extconf.rb: check for timezone and altzone 2017-09-17 04:26:51 +00:00
dbm gdbm, dbm, sdbm: remove unnecessary conditions 2017-10-22 07:18:55 +00:00
digest Added gemspec of digest library. 2017-08-16 09:37:03 +00:00
etc sysconfdir on Windows 2017-10-24 13:48:08 +00:00
fcntl Fixed misspelling words. 2017-10-22 11:27:06 +00:00
fiber Update dependencies 2016-07-06 05:48:13 +00:00
fiddle Added explicitly require to example code. 2017-10-21 14:55:22 +00:00
gdbm gdbm, dbm, sdbm: remove unnecessary conditions 2017-10-22 07:18:55 +00:00
io ext/io/console/lib/console/size.rb: Fix the context of method definition 2017-09-17 08:04:34 +00:00
json Merge json-2.1.0 from https://github.com/flori/json 2017-06-16 03:04:46 +00:00
nkf ext: check if null byte is contained 2017-09-30 08:35:23 +00:00
objspace Removed NODE_OPT_N 2017-10-24 08:00:36 +00:00
openssl multiple arguments to write 2017-10-23 14:05:07 +00:00
pathname declare variables once for each line in pathname.c. 2017-10-21 08:41:59 +00:00
psych Fix a typo [ci skip] 2017-10-22 09:16:51 +00:00
pty Replace `to_a[1..-1]` on a MatchData with `captures` 2017-10-21 05:18:40 +00:00
racc/cparse Update dependencies 2016-07-06 05:48:13 +00:00
rbconfig/sizeof configure.ac 2017-09-29 13:21:17 +00:00
readline ext: check if null byte is contained 2017-09-30 08:35:23 +00:00
ripper lexer.rb: no dedent strings in middle 2017-10-19 04:25:30 +00:00
rubyvm get rid of test failures introduced at r56848 2016-11-20 06:19:05 +00:00
sdbm gdbm, dbm, sdbm: remove unnecessary conditions 2017-10-22 07:18:55 +00:00
socket socket: fix BasicSocket#*_nonblock buffering bugs from r58400 2017-10-27 23:26:48 +00:00
stringio stringio.c: write multiple arguments 2017-10-23 06:25:39 +00:00
strscan To use github url for gemspec. 2017-09-15 23:46:46 +00:00
syslog ext: check if null byte is contained 2017-09-30 08:35:23 +00:00
win32 Fixed misspelling words. 2017-10-22 11:27:06 +00:00
win32ole ext/win32ole/win32ole.c (fole_missing): set receiver in NoMethodError. 2017-10-21 23:57:10 +00:00
zlib zlib.c: multiple arguments to write 2017-10-23 07:06:12 +00:00
.document ext/.document: follow-up r59734 2017-09-03 13:31:34 +00:00
Setup Removed deprecated extensions of mathn. 2017-04-20 08:21:24 +00:00
Setup.atheos * ext/tk: Tk is removed from stdlib. [Feature #8539] 2016-08-09 06:44:45 +00:00
Setup.nacl Removed deprecated extensions of mathn. 2017-04-20 08:21:24 +00:00
Setup.nt * ext/tk: Tk is removed from stdlib. [Feature #8539] 2016-08-09 06:44:45 +00:00
extmk.rb ext/extmk.rb: colorize notes [Feature #13302] 2017-04-21 03:01:12 +00:00