nobu
b0dd250dc9
use RB_TYPE_P() instead of comparison of TYPE()
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 07:13:21 +00:00
akr
da12c793c4
* 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
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 22:18:03 +00:00
akr
4c87e9433a
suppress a warning.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 13:24:34 +00:00
akr
1413510ed2
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-26 03:34:12 +00:00
akr
c1d27b8c8d
* ext/socket/raddrinfo.c (init_unix_addrinfo): refine error message
...
format.
(addrinfo_mload): show more information on "too long AF_UNIX path"
error.
(addrinfo_unix_path): ditto for "too short AF_UNIX address" and
"too long AF_UNIX address" error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-25 14:05:10 +00:00
akr
7c346a46d3
* ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length
...
when it is too long for Unix socket.
* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-24 12:59:32 +00:00
akr
d6ba4bcaa5
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-20 10:51:25 +00:00
drbrain
da39d32f60
* encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
...
reaches end of non-void function" warnings. [ruby-trunk - Bug #6066 ]
* re.c (name_to_backref_number): ditto.
* object.c (rb_Float): ditto.
* io.c (io_readpartial): ditto.
* io.c (io_read_nonblock): ditto.
* pack.c (rb_uv_to_utf8): ditto.
* proc.c (rb_method_entry_arity): ditto.
* vm_method.c (rb_f_notimplement): ditto.
* struct.c (rb_struct_aset_id): ditto.
* class.c (rb_scan_args): ditto.
* process.c (rlimit_resource_type): ditto.
* process.c (rlimit_resource_value): ditto.
* process.c (p_uid_switch): ditto.
* process.c (p_gid_switch): ditto.
* ext/digest/digest.c (rb_digest_instance_update): ditto.
* ext/digest/digest.c (rb_digest_instance_finish): ditto.
* ext/digest/digest.c (rb_digest_instance_reset): ditto.
* ext/digest/digest.c (rb_digest_instance_block_length): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): ditto.
* ext/dl/handle.c (rb_dlhandle_close): ditto.
* ext/tk/tcltklib.c (pending_exception_check0): ditto.
* ext/tk/tcltklib.c (pending_exception_check1): ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core): ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name): ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core): ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv): ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve): ditto.
* ext/fiddle/conversions.c (generic_to_value): ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo): ditto.
* ext/socket/socket.c (sock_s_getnameinfo): ditto.
* ext/ripper/eventids2.c (ripper_token2eventid): ditto.
* cont.c (return_fiber): ditto.
* dmydln.c (dln_load): ditto.
* vm_insnhelper.c (vm_search_normal_superclass): ditto.
* bignum.c (big_fdiv): ditto.
* marshal.c (r_symlink): ditto.
* marshal.c (r_symbol): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-13 23:45:37 +00:00
nobu
a2749dbbf1
* ext/socket/extconf.rb: fix typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 07:52:43 +00:00
nobu
80429eed63
* io.c, process.c, time.c, ext: use rb_sys_fail_str instead of
...
rb_sys_fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:50:27 +00:00
akr
5525d82134
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 11:51:25 +00:00
luislavena
44d20d61c7
Do not define _WIN32_WINNT multiple times
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-12 18:28:17 +00:00
akr
bb1115a2d6
* ext/socket/lib/socket.rb (family_addrinfo): don't require protocol
...
equality. For example, protocol 0 and IPPROTO_TCP is not problem
for TCP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-09 11:18:00 +00:00
akr
268d1a2244
* ext/socket/lib/socket.rb (family_addrinfo): return the given
...
addrinfo object.
Patch by Ippei Obayashi. [ruby-dev:45095] [Bug #5845 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-09 11:11:24 +00:00
kazu
327ea26b59
* ext/bigdecimal/README: Update redmine.ruby-lang.org to bugs.ruby-lang.org
...
* ext/socket/ancdata.c: ditto
* test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto
* test/syck/test_yaml.rb: ditto
* doc/ChangeLog-1.9.3: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 16:09:17 +00:00
usa
2470d7811f
* ext/socket/extconf.rb: forgotten to define HAVE_SOCKETPAIR for
...
windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-08 03:59:10 +00:00
usa
1dea192775
* include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert
...
r33876. [ruby-core:41475] [Bug #5706 ]
* ext/socket/extconf.rb: the alternative hack for [Bug #5675 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 05:29:31 +00:00
nobu
b0f588fe0e
* ext/socket/extconf.rb: get rid of warnings by
...
-Wmissing-declarations or -Wold-style-definition options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-01 08:45:22 +00:00
nobu
05e2da638f
* ext/socket/extconf.rb: add arguments for macro calls.
...
[ruby-core:41370] [Bug#5681]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-01 07:59:21 +00:00
nobu
1510ad86c4
* include/ruby/subst.h: moved Windows specific substitions from
...
win32.h.
* ext/socket/rubysocket.h: include ruby/subst.h. [Bug #5675 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 01:36:09 +00:00
akr
5cb6365487
* ext/socket/rubysocket.h (rsock_recvmsg): declared.
...
* ext/socket/ancdata.c (rsock_recvmsg): extracted from
nogvl_recvmsg_func.
(nogvl_recvmsg_func): use rsock_recvmsg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-06 05:51:43 +00:00
akr
a3521e0261
* ext/socket/socket.c (rsock_socketpair0): refactored.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 09:06:05 +00:00
akr
385a7d4594
* ext/socket/init.c (rsock_socket0): don't clear try_sock_cloexec if
...
SOCK_CLOEXEC is not a reason for EINVAL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 08:56:50 +00:00
akr
0e68c46e2d
* ext/socket/init.c (rsock_socket0): extract single socket() call with
...
CLOEXEC handling from rsock_socket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 06:46:02 +00:00
akr
df390d82f9
* ext/socket/socket.c (rsock_socketpair0): don't clear
...
try_sock_cloexec if SOCK_CLOEXEC is not a reason for EINVAL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 02:19:48 +00:00
nobu
413f24d3b0
* whitespace cleanup.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-04 07:19:23 +00:00
akr
b45c882aec
* ext/socket/socket.c (rsock_socketpair0): extracted from
...
rsock_socketpair to set close-on-exec flag for each socketpair()
call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03 13:46:41 +00:00
nagachika
a0b22b1a39
* ext/socket/init.c (rsock_socket): set close-on-exec flag when
...
SOCK_CLOEXEC is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03 13:14:48 +00:00
akr
c16f98ab0a
* io.c (rb_maygvl_fd_fix_cloexec): renamed from fd_set_cloexec.
...
* internal.h (rb_maygvl_fd_fix_cloexec): declared.
* ext/socket/init.c (cloexec_accept): use rb_maygvl_fd_fix_cloexec.
(rsock_s_accept_nonblock): use rb_update_max_fd.
(rsock_s_accept): use rb_update_max_fd.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-01 03:04:03 +00:00
akr
5dbc3d1e79
* ext/socket/init.c (cloexec_accept): new function to use accept4 if
...
available.
(rsock_s_accept_nonblock): use cloexec_accept.
(accept_blocking): ditto.
* ext/socket/extconf.rb: check accept4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 23:26:19 +00:00
akr
7ae60a6b0d
* ext/socket/ancdata.c (nogvl_recvmsg_func): use MSG_CMSG_CLOEXEC if
...
available.
* ext/socket/unixsocket.c (recvmsg_blocking): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 22:32:49 +00:00
akr
ee5ae134dd
* ext/socket/socket.c (rsock_socketpair): use SOCK_CLOEXEC if
...
available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 21:01:18 +00:00
akr
8ce4a284e4
* ext/socket/socket.c (rsock_socketpair): extracted from
...
rsock_sock_s_socketpair.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 14:49:57 +00:00
akr
1a8fbff3db
* ext/socket/init.c (rsock_socket): use SOCK_CLOEXEC if available.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 14:38:50 +00:00
akr
1a70dfe6f4
* include/ruby/intern.h (rb_fd_fix_cloexec): renamed from
...
rb_fd_set_cloexec.
* io.c: follow the above renaming.
* ext/pty/pty.c: ditto.
* ext/socket/init.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-31 12:49:16 +00:00
akr
b574a4d4a1
* include/ruby/intern.h (rb_fd_set_cloexec): declared.
...
* io.c (rb_fd_set_cloexec): new function.
(ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag.
(rb_sysopen_internal): ditto.
(rb_pipe): ditto.
(io_reopen): ditto.
(io_cntl): ditto.
* process.c (rb_f_exec): change the default :close_others option to
true.
(rb_f_system): ditto.
(move_fds_to_avoid_crash): call rb_fd_set_cloexec to set
close-on-exec flag.
(ruby_setsid): ditto.
(rb_daemon): ditto.
* thread_pthread.c (rb_thread_create_timer_thread): call
rb_fd_set_cloexec to set close-on-exec flag.
* ruby.c (load_file_internal): ditto.
* file.c (rb_file_s_truncate): ditto.
(file_load_ok): ditto.
* random.c (fill_random_seed): ditto.
* ext/pty/pty.c (chfunc): ditto.
(get_device_once): ditto.
* ext/openssl/ossl_bio.c (ossl_obj2bio): ditto.
* ext/socket/init.c (rsock_socket): ditto.
(rsock_s_accept_nonblock): ditto.
(rsock_s_accept): ditto.
* ext/socket/socket.c (rsock_sock_s_socketpair): ditto.
* ext/socket/ancdata.c (discard_cmsg): ditto.
(make_io_for_unix_rights): ditto.
* ext/socket/unixsocket.c (unix_recv_io): ditto.
* ext/io/console/console.c (console_dev): ditto.
[ruby-core:38140] [Feature #5041 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22 09:58:15 +00:00
drbrain
1297942451
* ext/socket: Make Socket documentation appear. Add documentation for
...
Socket, TCPServer, SOCKSSocket. Patch by Sylvain Daubert.
[Ruby 1.9 - Feature #5182 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-15 23:08:39 +00:00
akr
5622574976
* ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for
...
listen backlog.
* ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
* ext/socket/lib/socket.rb (Addrinfo#listen): ditto.
(Socket.tcp_server_sockets_port0): ditto.
* ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-11 23:20:15 +00:00
akr
6c0e64dee5
* ext/socket/lib/socket.rb: fix argument check in the previous commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-10 14:04:23 +00:00
akr
5515afbf8f
* ext/socket/lib/socket.rb (Socket.tcp): add :connect_timeout option.
...
(Addrinfo#connect_from): add :timeout option.
(Addrinfo#connect): ditto.
(Addrinfo#connect_to): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-10 13:13:57 +00:00
akr
1054b79609
* ext/socket/lib/socket.rb (udp_server_sockets): unused variable
...
removed.
patch by Jeremy Evans. [ruby-core:38600]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29 22:40:41 +00:00
akr
14871a3786
* ext/socket/mkconstants.rb: fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29 11:52:28 +00:00
akr
b6ee29c9c0
* ext/socket/mkconstants.rb: use whitespaces as a separator.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29 11:29:49 +00:00
akr
8ef6a22144
* ext/socket/mkconstants.rb: add documents for constants.
...
patch by Eric Hodel. [ruby-core:37853] [Bug #4989 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29 10:03:25 +00:00
akr
29f354df63
* ext/socket/extconf.rb: refine the recvmsg test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-24 11:35:56 +00:00
akr
0283c3d0bb
* ext/socket/extconf.rb: fix the recvmsg test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-24 11:04:11 +00:00
akr
f5b9de7502
* ext/socket/extconf.rb: test recvmsg allocates file descriptors for
...
fd passing even with MSG_PEEK.
* ext/socket/ancdata.c: use the above test result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-23 23:57:50 +00:00
akr
2bcd502a71
* io.c (rb_update_max_fd): validate fd.
...
* ext/socket/rubysocket.h (rsock_discard_cmsg_resource): add
msg_peek_p argument for the declaration.
* ext/socket/ancdata.c (discard_cmsg): add msg_peek_p argument.
assume FreeBSD, NetBSD and MacOS X doesn't generate passed fd
when MSG_PEEK.
(rsock_discard_cmsg_resource): add msg_peek_p argument.
(bsock_recvmsg_internal): call rsock_discard_cmsg_resource with
msg_peek_p argument.
* ext/socket/unixsocket.c (unix_recv_io): call
rsock_discard_cmsg_resource with msg_peek_p argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-23 08:13:37 +00:00
akr
272322bede
* ext/socket/ancdata.c (discard_cmsg): workaround for MacOS X Lion.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-21 12:02:45 +00:00
akr
b41ccc4a9c
* include/ruby/intern.h (rb_update_max_fd): declaration moved from
...
internal.h.
* file.c: ditto.
* io.c: call rb_update_max_fd for each new fds.
* process.c: ditto.
* random.c: ditto.
* ruby.c: ditto.
* ext/io/console/console.c: ditto.
* ext/openssl/ossl_bio.c: ditto.
* ext/pty/pty.c: ditto.
* ext/socket/init.c: ditto.
* ext/socket/socket.c: ditto.
* ext/socket/ancdata.c: ditto.
* ext/socket/unixsocket.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-20 13:26:10 +00:00