merge revision(s) 44490,44496: [Backport #9352]

	* ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno
	  before calling rb_sys_fail_str to prevent [BUG] errno == 0.
	  Patch by Eric Wong. [ruby-core:59498] [Bug #9352]

	* ext/socket/socket.c (rsock_sys_fail_path): ditto

	* ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto

	* ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto

	* ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto

	* ext/socket/socket.c (rsock_syserr_fail_host_port): add errno
	  argument version anduse rb_syserr_fail_str() instead of
	  rb_sys_fail_str() with restoring errno.

	* ext/socket/socket.c (rsock_syserr_fail_path): ditto, and
	  rb_syserr_fail().

	* ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use
	  rsock_syserr_fail_raddrinfo().

	* ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto.

	* ext/socket/socket.c (setup_domain_and_type): ditto.


git-svn-id: svn+ssh://svn.ruby-lang.org/ruby/branches/ruby_2_1@44842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e