akr
7f44badcbe
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 14:18:09 +00:00
akr
ecb22ce2c5
* ext/socket/lib/socket.rb (BasicSocket#connect_address): new method.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 14:15:39 +00:00
akr
2276b2f904
* ext/socket/mkconstants.rb: more MSG_* constants.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 16:35:05 +00:00
akr
e6f0b1de89
* ext/socket/option.c (sockopt_level): extracted from sockopt_level_m.
...
(sockopt_optname): extracted from sockopt_optname_m.
(sockopt_data): apply StringValue.
(sockopt_s_linger): new method.
(sockopt_linger): new method.
(inspect_linger): show onoff value if it is neither 0 nor 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 15:26:25 +00:00
akr
1ff020df70
* ext/socket/ancdata.c (ancillary_unix_rights): raise
...
NotImplementedError if no fd passing feature.
(ancillary_timestamp): raise NotImplementedError if no timestamp
feature.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 14:24:10 +00:00
akr
56c52c1da8
* ext/socket/ancdata.c (ancillary_s_unix_rights): new method.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 14:19:24 +00:00
akr
c17b915eb8
* ext/socket/unixsocket.c (unix_recv_io): prevent FD leak when 2 fd is
...
sent on LP64 platform.
* ext/socket/rubysocket.h (rsock_discard_cmsg_resource): declared.
* ext/socket/ancdata.c (rsock_discard_cmsg_resource): renamed from
discard_cmsg_resource. export it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-25 14:03:42 +00:00
knu
400ded9338
* class.c (rb_scan_args): Allow specifying the number of trailing
...
mandatory arguments right after the number of optional arguments
only if the number of leading mandatory arguments is not omitted.
* ext/socket/tcpserver.c (tcp_svr_init): Make use of it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 15:41:39 +00:00
akr
470103861e
add comment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 13:19:04 +00:00
akr
0ae09794e5
* ext/socket/socket.c (sockaddr_obj): convert fe80:1::1 to fe80::1%1.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 13:02:59 +00:00
akr
7e20506eae
reordered.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 12:08:23 +00:00
akr
e137e939b7
* ext/socket/ancdata.c (ancillary_timestamp): support SCM_BINTIME.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:56:57 +00:00
akr
b404c651d2
* ext/socket/ancdata.c (ancillary_timestamp): new method.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-24 10:45:46 +00:00
akr
605cd65904
* ext/socket/ancdata.c (inspect_timespec_as_abstime): new function to
...
show struct timespec.
(ancillary_inspect): use it for SCM_TIMESTAMPNS on GNU/Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:41:38 +00:00
akr
23e286f3fb
* ext/socket/ancdata.c (inspect_bintime_as_abstime): new function to
...
show struct bintime.
(ancillary_inspect): use it for SCM_BINTIME on FreeBSD.
* ext/socket/mkconstants.rb: define SCM_BINTIME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:32:43 +00:00
akr
a0e3e8e4d1
* ext/socket/ancdata.c (inspect_timeval_as_abstime): use time_t
...
variable to avoid a warning on environments which use long as
tv_sec as NetBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 11:21:45 +00:00
akr
97ef9728d5
* ext/socket/mkconstants.rb: define SO_TIMESTAMPNS and SCM_TIMESTAMPNS
...
if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 18:20:11 +00:00
akr
b7fe065741
* ext/socket/ancdata.c (ancillary_inspect): use SCM_TIMESTAMP instead
...
of SO_TIMESTAMP. SCM_TIMESTAMP != SO_TIMESTAMP on MacOS X.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 17:55:52 +00:00
akr
475a350df8
* ext/socket/ancdata.c (inspect_timeval_as_abstime): new function.
...
(ancillary_inspect): use it for SO_TIMESTAMP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 17:46:51 +00:00
akr
0c95958c2d
* ext/socket/option.c (inspect_timeval_as_interval): renamed from
...
inspect_timeval.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 17:27:15 +00:00
akr
cdca4e19d0
* ext/socket/option.c (inspect_timeval): fix the size test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 17:10:47 +00:00
akr
80d230c394
* ext/socket/option.c (inspect_linger): message refined.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 11:09:55 +00:00
akr
22cef963c3
* ext/socket/init.c (s_recvfrom): use rb_io_wait_readable after
...
recvfrom.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 10:28:38 +00:00
akr
c160c6e59e
* ext/socket/option.c (inspect_errno): new function.
...
(sockopt_inspect): use inspect_errno for SO_ERROR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 09:40:42 +00:00
nobu
0ec57a60af
* ext/socket/init.c (s_recvfrom_nonblock): handles EAGAIN too.
...
* ext/socket/init.c (s_accept_nonblock): ditto, and EPROTO depends
on platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 04:38:46 +00:00
akr
88860a065e
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 04:06:15 +00:00
akr
47c6ecfa64
* ext/socket/ancdata.c (bsock_recvmsg_internal): handle EMSGSIZE as
...
well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 17:16:18 +00:00
akr
6b0f596719
* ext/socket/ancdata.c (bsock_recvmsg_internal): check max length
...
overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 17:04:22 +00:00
akr
60f2cec646
* ext/socket/ancdata.c (bsock_recvmsg_internal): don't call
...
discard_cmsg_resource when EMFILE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 16:53:30 +00:00
akr
ad2f293d4f
* ext/socket/ancdata.c (bsock_recvmsg_internal): gc when SCM_RIGHTS
...
hit the file descriptor limit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 16:49:44 +00:00
akr
9cfe35ad50
* io.c (io_getpartial): error message describes what should be
...
waited after nonblocking error.
(rb_io_write_nonblock): ditto.
* ext/socket/init.c (s_recvfrom_nonblock): ditto.
(s_accept_nonblock): ditto.
* ext/socket/socket.c (sock_connect_nonblock): ditto.
* ext/socket/ancdata.c (bsock_sendmsg_internal): ditto.
(bsock_recvmsg_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 15:57:52 +00:00
akr
d227ca29f4
* ext/socket/ancdata.c (bsock_recvmsg_internal): check recvmsg error
...
earlier.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 15:32:52 +00:00
akr
90fc8d84ad
rdoc update.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-21 14:05:07 +00:00
akr
09396dcf21
* ext/socket/ancdata.c (make_io_for_unix_rights): cmsg_len may be
...
bigger than msg_controllen.
freeze unix_rights array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 14:01:17 +00:00
akr
98f82fc633
* ext/socket/ancdata.c (bsock_recvmsg_internal): fix exception.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 13:18:02 +00:00
akr
bed4294451
* ext/socket/ancdata.c (ancillary_unix_rights): method renamed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 12:13:38 +00:00
takano32
90f84988fc
* ext/socket/rubysocket.h: add "#include <sys/stat.h>"
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 23:47:21 +00:00
akr
18afbc891c
* ext/socket/ancdata.c (ancillary_rights): new method.
...
(make_io_for_rights): new function to allocate
IOs for FDs in SCM_RIGHTS message.
(bsock_recvmsg_internal): use make_io_for_rights. So the FDs can be
closed by GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 18:43:15 +00:00
akr
75ba47e8e8
* ext/socket/ancdata.c (discard_cmsg_resource): new function to close
...
file descriptors in control message.
(bsock_recvmsg_internal): call discard_cmsg_resource before retrying
recvmsg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 13:47:53 +00:00
akr
f1a39b9e5c
* ext/socket/ancdata.c (bsock_recvmsg_internal): prevent misalignment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 12:48:11 +00:00
akr
34152d654a
* ext/socket/ancdata.c (bsock_sendmsg_internal): avoid misalignment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 12:35:22 +00:00
akr
d89e09b308
* ext/socket/ancdata.c (bsock_recvmsg_internal): reduce code on
...
environments which have no control message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 12:27:13 +00:00
nobu
da97071549
* ext/socket/option.c: suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 18:14:20 +00:00
akr
9bd0ecd917
add comments for rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 16:29:43 +00:00
akr
28cf7a6d6f
* ext/socket/ancdata.c (bsock_sendmsg_internal): make the padding
...
removing only on NetBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 14:26:34 +00:00
akr
2f8b471b89
fix an error message.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 10:43:55 +00:00
akr
3d39a9a070
* ext/socket/ancdata.c (bsock_sendmsg_internal): should not remove the
...
last padding of control messages, basically.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 10:40:20 +00:00
akr
d9bb9b3255
* ext/socket/mkconstants.rb: generate rb_define_const directly for
...
rdoc.
* ext/.document: add socket/constdefs.c.
* ext/socket/constants.c (sock_define_const): removed.
(sock_define_uconst): ditto.
(rb_mSockConst): new static variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16 16:55:33 +00:00
akr
351f54de45
* ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't remove
...
the last padding to prevent sendmsg failure in test_udp_server in
test/socket/test_socket.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16 14:34:01 +00:00
akr
9d37857e2b
* ext/socket/sockport.h (SET_SA_LEN): cast to void for supressing a
...
warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-13 17:21:53 +00:00