aboutsummaryrefslogtreecommitdiffstats
path: root/ext/socket
Commit message (Collapse)AuthorAgeFilesLines
* rdoc update.akr2009-02-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc update.akr2009-02-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/lib/socket.rb (BasicSocket#connect_address): new method.akr2009-02-261-0/+40
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: more MSG_* constants.akr2009-02-251-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (sockopt_level): extracted from sockopt_level_m.akr2009-02-251-4/+87
| | | | | | | | | | | (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
* * ext/socket/ancdata.c (ancillary_unix_rights): raiseakr2009-02-251-11/+19
| | | | | | | | | | 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
* * ext/socket/ancdata.c (ancillary_s_unix_rights): new method.akr2009-02-251-0/+52
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/unixsocket.c (unix_recv_io): prevent FD leak when 2 fd isakr2009-02-253-17/+27
| | | | | | | | | | | | | 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
* * class.c (rb_scan_args): Allow specifying the number of trailingknu2009-02-241-5/+3
| | | | | | | | | | 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
* add comment.akr2009-02-241-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sockaddr_obj): convert fe80:1::1 to fe80::1%1.akr2009-02-241-0/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* reordered.akr2009-02-241-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (ancillary_timestamp): support SCM_BINTIME.akr2009-02-241-0/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (ancillary_timestamp): new method.akr2009-02-241-0/+60
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (inspect_timespec_as_abstime): new function toakr2009-02-231-2/+25
| | | | | | | | | 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
* * ext/socket/ancdata.c (inspect_bintime_as_abstime): new function toakr2009-02-232-0/+52
| | | | | | | | | | | 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
* * ext/socket/ancdata.c (inspect_timeval_as_abstime): use time_takr2009-02-231-5/+7
| | | | | | | | 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
* * ext/socket/mkconstants.rb: define SO_TIMESTAMPNS and SCM_TIMESTAMPNSakr2009-02-221-0/+2
| | | | | | | if available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (ancillary_inspect): use SCM_TIMESTAMP insteadakr2009-02-221-3/+3
| | | | | | | | 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
* * ext/socket/ancdata.c (inspect_timeval_as_abstime): new function.akr2009-02-221-0/+25
| | | | | | | (ancillary_inspect): use it for SO_TIMESTAMP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (inspect_timeval_as_interval): renamed fromakr2009-02-221-3/+3
| | | | | | | inspect_timeval. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (inspect_timeval): fix the size test.akr2009-02-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (inspect_linger): message refined.akr2009-02-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/init.c (s_recvfrom): use rb_io_wait_readable afterakr2009-02-221-0/+3
| | | | | | | | recvfrom. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c (inspect_errno): new function.akr2009-02-221-1/+17
| | | | | | | (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
* * ext/socket/init.c (s_recvfrom_nonblock): handles EAGAIN too.nobu2009-02-221-2/+16
| | | | | | | | * 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
* rdoc update.akr2009-02-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): handle EMSGSIZE asakr2009-02-211-2/+7
| | | | | | | well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): check max lengthakr2009-02-211-0/+6
| | | | | | | overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): don't callakr2009-02-211-2/+3
| | | | | | | discard_cmsg_resource when EMFILE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): gc when SCM_RIGHTSakr2009-02-211-2/+24
| | | | | | | hit the file descriptor limit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getpartial): error message describes what should beakr2009-02-213-2/+14
| | | | | | | | | | | | | | | | | 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
* * ext/socket/ancdata.c (bsock_recvmsg_internal): check recvmsg errorakr2009-02-211-3/+3
| | | | | | | earlier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc update.akr2009-02-211-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (make_io_for_unix_rights): cmsg_len may beakr2009-02-191-11/+15
| | | | | | | | 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
* * ext/socket/ancdata.c (bsock_recvmsg_internal): fix exception.akr2009-02-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (ancillary_unix_rights): method renamed.akr2009-02-191-13/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/rubysocket.h: add "#include <sys/stat.h>"takano322009-02-181-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (ancillary_rights): new method.akr2009-02-181-2/+56
| | | | | | | | | | (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
* * ext/socket/ancdata.c (discard_cmsg_resource): new function to closeakr2009-02-181-0/+24
| | | | | | | | | 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
* * ext/socket/ancdata.c (bsock_recvmsg_internal): prevent misalignment.akr2009-02-181-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid misalignment.akr2009-02-181-10/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_recvmsg_internal): reduce code onakr2009-02-181-6/+14
| | | | | | | environments which have no control message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/option.c: suppress warnings.nobu2009-02-171-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add comments for rdoc.akr2009-02-172-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_sendmsg_internal): make the paddingakr2009-02-171-0/+2
| | | | | | | | removing only on NetBSD. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix an error message.akr2009-02-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ancdata.c (bsock_sendmsg_internal): should not remove theakr2009-02-171-3/+25
| | | | | | | last padding of control messages, basically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/mkconstants.rb: generate rb_define_const directly forakr2009-02-162-34/+19
| | | | | | | | | | | | | | 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
* * ext/socket/ancdata.c (bsock_sendmsg_internal) [OpenBSD]: don't removeakr2009-02-161-0/+2
| | | | | | | | 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