ruby/ext/socket
akr c4049f4cb6 * io.c (rb_mWaitReadable): defined.
(rb_mWaitWritable): defined.
  (io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN.
  (rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and
  EAGAIN.

* error.c (make_errno_exc): extracted from rb_sys_fail.
  (rb_mod_sys_fail): new function.

* include/ruby/ruby.h (rb_mod_sys_fail): declared.
  (rb_mWaitReadable): declared.
  (rb_mWaitWritable): declared.

* ext/socket/init.c (rsock_s_recvfrom_nonblock): extend
  IO::WaitReadable on EWOULDBLOCK and EAGAIN.
  (rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK,
  EAGAIN, ECONNABORTED and EPROTO.

* ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable
  on EINPROGRESS.

* ext/socket/ancdata.c (bsock_sendmsg_internal): extend
  IO::WaitWritable on EWOULDBLOCK and EAGAIN.
  (bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and
  EAGAIN.

* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError
  extended by IO::WaitReadable/IO::WaitWritable on
  SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.

* ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise.
  (ossl_exc_new): new function.

* ext/openssl/ossl.h (ossl_exc_new): declared.

* lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and
  IO::WaitWritable.

  [ruby-core:22539], [ruby-dev:38140] 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-19 11:40:38 +00:00
..
lib rdoc update. 2009-03-08 04:13:06 +00:00
.cvsignore add extconf.h to .cvsignore. 2006-06-24 01:15:08 +00:00
addrinfo.h * ext/socket/addrinfo.h (AI_NUMERICSERV): defined. 2009-01-13 13:57:53 +00:00
ancdata.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
basicsocket.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
constants.c * ext/socket: add rsock_prefix. 2009-03-01 06:30:41 +00:00
depend * ext/socket/rubysocket.h (cmsg_type_arg): declared. 2009-02-02 02:51:02 +00:00
extconf.rb * ext/socket/ancdata.c: not use pktinfo.ipi_spec_dst if not defined 2009-03-18 08:04:17 +00:00
getaddrinfo.c * ext/socket/extconf.rb (gai_strerror): checks if available and if 2009-01-14 04:09:05 +00:00
getnameinfo.c * ext/socket/{getaddrinfo,getnameinfo}.c: need to include ws2tcpip.h 2009-01-13 03:11:17 +00:00
init.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
ipsocket.c * ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent. 2009-03-01 06:48:22 +00:00
mkconstants.rb * {ext,lib,test}/**/*.rb: removed trailing spaces. 2009-03-06 03:56:38 +00:00
option.c * ext/socket: add rsock_prefix. 2009-03-01 06:30:41 +00:00
raddrinfo.c forgot to commit. 2009-03-02 12:13:00 +00:00
rubysocket.h * ext/socket/ (rsock_getfamily): renamed from rb_sock_getfamily. 2009-03-01 11:58:13 +00:00
socket.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
sockport.h * ext/socket/sockport.h (SS_LEN): defined unconditionally. 2009-03-02 12:39:47 +00:00
sockssocket.c * ext/socket: add rsock_prefix. 2009-03-01 06:30:41 +00:00
tcpserver.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
tcpsocket.c * ext/socket/ (rsock_make_hostent): renamed from sock_make_hostent. 2009-03-01 06:48:22 +00:00
udpsocket.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
unixserver.c * io.c (rb_mWaitReadable): defined. 2009-03-19 11:40:38 +00:00
unixsocket.c * ext/socket/raddrinfo.c: suppress warnings. 2009-03-01 14:00:48 +00:00