region because other thread/process maybe read/write the socket
between select() and connect()/accept().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
blocking region if checked before readable/writable by select.
* ext/socket/socket.c (bsock_send, s_recvfrom, udp_send, unix_send_io,
unix_recv_io): should check readable/writable before blocking calling
blocking functions.
see [ruby-dev:35446]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
avoid "i".to_i(36) cause 0 under tr_TR locale.
This is newly implemented, not a copy of missing/strtoul.c.
* include/ruby/ruby.h (ruby_strtoul): declared.
(STRTOUL): defined to use ruby_strtoul.
* bignum.c, pack.c, ext/socket/socket.c: use STRTOUL.
* configure.in (strtoul): don't check.
* missing/strtoul.c: removed.
* include/ruby/missing.h (strtoul): removed.
* common.mk (strtoul.o): removed.
* LEGAL (missing/strtoul.c): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
windows) doesn't set fromlen if the socket is connection-oriented.
reported by Bram Whillock in [ruby-core:10512] [ruby-Bugs#9061]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
message for #peeraddr. a patch from Sam Roberts
<sroberts at uniserve.com>. [ruby-core:10366]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for AIX. a patch from Yutaka Kanemoto <kinpoco AT gmail.com>.
[ruby-dev:29744]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(RARRAY_LEN): defined for accessing array members.
(RARRAY_PTR): ditto.
* array.c: use RARRAY_LEN and RARRAY_PTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(RSTRING_LEN): defined for accessing string members.
(RSTRING_PTR): ditto.
* string.c: use RSTRING_LEN and RSTRING_PTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
<alex at blackkettle.org>. [ruby-core:08068]
* io.c (pipe_open): backout unnecessary fix on 2006-06-26.
[ruby-dev:28865]
* eval.c (rb_yield_0): exact argument number check now done only
for lambda Proc.
* eval.c (rb_yield_0): add check for number of arguments, if
there's one lambda block parameter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
BasicSocket#recv_nonblock.
(udp_recvfrom_nonblock): renamed from ip_recvfrom_nonblock.
IPSocket#recvfrom_nonblock is moved to UDPSocket#recvfrom_nonblock.
(unix_recvfrom_nonblock): removed.
UNIXSocket#recvfrom_nonblock is removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
IPsocket, TCPsocket, SOCKSsocket, TCPserver, UDPsocket,
UNIXsocket, UNIXserver.
* eval.c (formal_assign): post splat arguments should have had
higher priority than optional arguments, since they are
mandatory. [ruby-dev:28715]
* eval.c (VIS_MASK): broken. should be 15. [ruby-dev:28715]
* io.c (argf_getc): should return one-character string.
[ruby-dev:28715]
* io.c (rb_io_readchar): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
too. (tested on NetBSD 3.0)
(s_recvfrom_nonblock): extracted from sock_recvfrom_nonblock.
(sock_recvfrom_nonblock): use s_recvfrom_nonblock.
(ip_recvfrom_nonblock): new method: IPSocket#recvfrom_nonblock
(unix_recvfrom_nonblock): new method: UNIXSocket#recvfrom_nonblock
(s_accept_nonblock): extracted from sock_accept_nonblock.
(sock_accept_nonblock): use s_accept_nonblock.
(tcp_accept_nonblock): new method: TCPServer#accept_nonblock
(unix_accept_nonblock): new method: UNIXServer#accept_nonblock
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
macros moved to extconf.h.
* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
EXTSTATIC permanent.
* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
$(INCFLAGS).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e