Apply dest_sockaddr in sendmsg

This commit is contained in:
Brian Candler
2011-05-06 14:48:15 +01:00
parent da2db43c8a
commit 15d26f5595

View File

@@ -35,8 +35,13 @@ if BasicSocket.instance_methods.grep(/^sendmsg$/).empty?
iov[:len] = mesg.bytesize iov[:len] = mesg.bytesize
header = Msghdr.new header = Msghdr.new
header[:name] = nil # TODO: dest_sockaddr if dest_sockaddr
header[:namelen] = 0 # dest_sockaddr dest_sockaddr = dest_sockaddr.to_sockaddr if dest_sockaddr.respond_to?(:to_sockaddr)
nbuf = FFI::MemoryPointer.new(dest_sockaddr.bytesize, 1, false)
nbuf.put_bytes(0, dest_sockaddr)
header[:name] = nbuf
header[:namelen] = dest_sockaddr.bytesize
end
header[:iov] = iov header[:iov] = iov
header[:iovlen] = 1 header[:iovlen] = 1
header[:control] = nil # TODO: controls header[:control] = nil # TODO: controls