diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/socket/ancdata.c | 2 | ||||
-rw-r--r-- | ext/socket/lib/socket.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index 7e0441c042..168f70c311 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -1467,7 +1467,7 @@ bsock_recvmsg_internal(VALUE sock, maxdatlen = NUM2SIZET(vmaxdatlen); #if defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL) - maxctllen = NUM2SIZET(vmaxctllen); + maxctllen = NIL_P(vmaxctllen) ? 4096 : NUM2SIZET(vmaxctllen); #else if (!NIL_P(vmaxctllen)) rb_raise(rb_eArgError, "control message not supported"); diff --git a/ext/socket/lib/socket.rb b/ext/socket/lib/socket.rb index df526d73c6..58e7dfd92a 100644 --- a/ext/socket/lib/socket.rb +++ b/ext/socket/lib/socket.rb @@ -425,7 +425,7 @@ class BasicSocket < IO # return ancdata.unix_rights[0] # end # } - def recvmsg(dlen = 4096, flags = 0, clen = 4096, scm_rights: false) + def recvmsg(dlen = 4096, flags = 0, clen = nil, scm_rights: false) __recvmsg(dlen, flags, clen, scm_rights) end @@ -441,7 +441,7 @@ class BasicSocket < IO # By specifying `exception: false`, the _opts_ hash allows you to indicate # that recvmsg_nonblock should not raise an IO::WaitWritable exception, but # return the symbol :wait_writable instead. - def recvmsg_nonblock(dlen = 4096, flags = 0, clen = 4096, + def recvmsg_nonblock(dlen = 4096, flags = 0, clen = nil, scm_rights: false, exception: true) __recvmsg_nonblock(dlen, flags, clen, scm_rights, exception) end |