<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/ext/socket, branch ruby_1_9_3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 45066: [Backport #9550]</title>
<updated>2014-02-22T01:11:06+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T01:11:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c3ab0bb5bdbb7a12ce5b98d1097e2e4c7301be8e'/>
<id>c3ab0bb5bdbb7a12ce5b98d1097e2e4c7301be8e</id>
<content type='text'>
	* ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error
	  (bsock_recvmsg_internal): ditto

	* test/socket/test_unix.rb: test above for infinite loop


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@45093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error
	  (bsock_recvmsg_internal): ditto

	* test/socket/test_unix.rb: test above for infinite loop


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@45093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 45084: [Backport #9547]</title>
<updated>2014-02-22T00:52:54+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T00:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=27ca36712d26c88e092a1bacdffa2d5cd1646975'/>
<id>27ca36712d26c88e092a1bacdffa2d5cd1646975</id>
<content type='text'>
	* ext/socket/init.c (wait_connectable): break if the socket is
	  writable to avoid infinite loops on FreeBSD and other platforms
	  which conforms to SUSv3.  This problem cannot be reproduced with
	  loopback interfaces, so it's hard to write test code.
	  rsock_connect() and wait_connectable() are overly complicated, so
	  they should be refactored, but I commit this fix as a workaround
	  for the release of Ruby 1.9.3 scheduled on Feb 24.
	  [ruby-core:60940] [Bug #9547]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@45092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/init.c (wait_connectable): break if the socket is
	  writable to avoid infinite loops on FreeBSD and other platforms
	  which conforms to SUSv3.  This problem cannot be reproduced with
	  loopback interfaces, so it's hard to write test code.
	  rsock_connect() and wait_connectable() are overly complicated, so
	  they should be refactored, but I commit this fix as a workaround
	  for the release of Ruby 1.9.3 scheduled on Feb 24.
	  [ruby-core:60940] [Bug #9547]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@45092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* ext/socket: revert r44943 because it causes errors on some linux</title>
<updated>2014-02-14T12:02:01+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-14T12:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4c58aa8ec7d1ab0fb725f90498fdab35ac461483'/>
<id>4c58aa8ec7d1ab0fb725f90498fdab35ac461483</id>
<content type='text'>
  platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44643: [Backport #9039]</title>
<updated>2014-02-14T06:24:08+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-14T06:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=64fe84aea97489ef2060b553734ead50e71ac489'/>
<id>64fe84aea97489ef2060b553734ead50e71ac489</id>
<content type='text'>
	* ext/socket: Avoid unnecessary ppoll/select on Linux.
	  Patch by Eric Wong.  [ruby-core:57950] [Bug #9039]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket: Avoid unnecessary ppoll/select on Linux.
	  Patch by Eric Wong.  [ruby-core:57950] [Bug #9039]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 41215,41216,41217: [Backport #8627]</title>
<updated>2014-02-14T03:57:59+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-14T03:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a540b10c96c187005c5037bcc942262234c43b45'/>
<id>a540b10c96c187005c5037bcc942262234c43b45</id>
<content type='text'>
	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu
	  13.04's getaddrinfo issue with mdns4. [ruby-list:49420]

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return
	  value assignment.

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu
	  13.04's getaddrinfo issue with mdns4. [ruby-list:49420]

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return
	  value assignment.

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44184: [Backport #9247]</title>
<updated>2014-01-30T12:04:22+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-01-30T12:04:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=75c84da28c5e9169a4d48efd1a542d8278b1d436'/>
<id>75c84da28c5e9169a4d48efd1a542d8278b1d436</id>
<content type='text'>
	* ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
	  it may be set before the body.
	  Reported by ko1 and mrkn.  [ruby-core:59088] [Bug #9247]

	* lib/cgi/core.rb: Ditto.

	* lib/drb/ssl.rb: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
	  it may be set before the body.
	  Reported by ko1 and mrkn.  [ruby-core:59088] [Bug #9247]

	* lib/cgi/core.rb: Ditto.

	* lib/drb/ssl.rb: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 41266: [Backport #8517]</title>
<updated>2013-06-26T07:12:18+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-06-26T07:12:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c6d80075de97e10c72a37432763b863e70bbd187'/>
<id>c6d80075de97e10c72a37432763b863e70bbd187</id>
<content type='text'>
	* ext/socket/extconf.rb:  Enable RFC 3542 IPV6 socket options for OS X
	  10.7+.  [ruby-trunk - Bug #8517]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/extconf.rb:  Enable RFC 3542 IPV6 socket options for OS X
	  10.7+.  [ruby-trunk - Bug #8517]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed commit miss of previous commit.</title>
<updated>2013-02-06T06:49:28+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-06T06:49:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b7d6d06a855b9de21d190aa458993438d738c18f'/>
<id>b7d6d06a855b9de21d190aa458993438d738c18f</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 35474,35479,38939,38943,38963,38991,38994: [Backport #7786]</title>
<updated>2013-02-06T05:30:55+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-06T05:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ee6e1db1b624a75d9f1fedd42c95cbe673657c16'/>
<id>ee6e1db1b624a75d9f1fedd42c95cbe673657c16</id>
<content type='text'>
	* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest
	  path in sockaddr_un.
	  (inspect_sockaddr): ditto.
	  (addrinfo_mdump): ditto.
	  (addrinfo_mload): ditto.
	  (rsock_unixpath_str): new function.
	  (rsock_unixpath): removed.
	  (rsock_unixaddr): use rsock_unixpath_str.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un.
	  (sock_s_unpack_sockaddr_un): ditto.
	  (sock_s_gethostbyaddr): unused variable removed.

	* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
	  path in sockaddr_un.

	* ext/socket/rubysocket.h (rsock_unixpath_str): declared.
	  (rsock_unixpath): removed.

	* test/socket/test_unix.rb: comment out test_nul because abstract unix
	  sockets may contain NULs.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un, really.
	  reported by nagachika.
	  http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476

	* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
	  ext/socket/unixsocket.c (unixsock_connect_internal,
	  rsock_init_unixsock): calculate the correct address length of
	  an abstract socket.  Without this fix, sizeof(struct sockaddr_un)
	  is specified as the length of an abstract socket for bind(2) or
	  connect(2), so the address of the socket is filled with extra NUL
	  characters.  See unix(7) for details.

	* ext/socket/lib/socket.rb (unix_server_socket): don't access the
	  file system if the platform is Linux and path starts with NUL,
	  which means that the socket is an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from
	  rsock_unixpath_len, because it returns not the length of the path,
	  but the length of a socket address for the path.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
	  correct address length of an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
	  because rb_sys_fail_str() fails if its argument contains NUL.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
	  sizeof(sa_familiy_t) if path is empty.  see "Autobind Feature" in
	  unix(7) for details.

	* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
	  empty path as an abstract name.

	* test/socket/test_unix.rb: related test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest
	  path in sockaddr_un.
	  (inspect_sockaddr): ditto.
	  (addrinfo_mdump): ditto.
	  (addrinfo_mload): ditto.
	  (rsock_unixpath_str): new function.
	  (rsock_unixpath): removed.
	  (rsock_unixaddr): use rsock_unixpath_str.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un.
	  (sock_s_unpack_sockaddr_un): ditto.
	  (sock_s_gethostbyaddr): unused variable removed.

	* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
	  path in sockaddr_un.

	* ext/socket/rubysocket.h (rsock_unixpath_str): declared.
	  (rsock_unixpath): removed.

	* test/socket/test_unix.rb: comment out test_nul because abstract unix
	  sockets may contain NULs.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un, really.
	  reported by nagachika.
	  http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476

	* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
	  ext/socket/unixsocket.c (unixsock_connect_internal,
	  rsock_init_unixsock): calculate the correct address length of
	  an abstract socket.  Without this fix, sizeof(struct sockaddr_un)
	  is specified as the length of an abstract socket for bind(2) or
	  connect(2), so the address of the socket is filled with extra NUL
	  characters.  See unix(7) for details.

	* ext/socket/lib/socket.rb (unix_server_socket): don't access the
	  file system if the platform is Linux and path starts with NUL,
	  which means that the socket is an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from
	  rsock_unixpath_len, because it returns not the length of the path,
	  but the length of a socket address for the path.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
	  correct address length of an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
	  because rb_sys_fail_str() fails if its argument contains NUL.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
	  sizeof(sa_familiy_t) if path is empty.  see "Autobind Feature" in
	  unix(7) for details.

	* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
	  empty path as an abstract name.

	* test/socket/test_unix.rb: related test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 38993: [Backport #7775]</title>
<updated>2013-02-06T05:21:33+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-06T05:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2618ffc57afe05308128e6ddf2b7fd2aae32b393'/>
<id>2618ffc57afe05308128e6ddf2b7fd2aae32b393</id>
<content type='text'>
	* ext/socket/basicsocket.c (bsock_getsockname): ignore truncated
	  part of socket address.
	  (bsock_getpeername): ditto.
	  (bsock_local_address): ditto.
	  (bsock_remote_address): ditto.

	* ext/socket/unixsocket.c (unix_path): ditto.
	  (unix_addr): ditto.
	  (unix_peeraddr): ditto.

	* ext/socket/init.c (cloexec_accept): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* ext/socket/basicsocket.c (bsock_getsockname): ignore truncated
	  part of socket address.
	  (bsock_getpeername): ditto.
	  (bsock_local_address): ditto.
	  (bsock_remote_address): ditto.

	* ext/socket/unixsocket.c (unix_path): ditto.
	  (unix_addr): ditto.
	  (unix_peeraddr): ditto.

	* ext/socket/init.c (cloexec_accept): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
