Implement sendmsg/recvmsg for 1.8 using ffi

This commit is contained in:
Brian Candler
2011-05-06 13:41:42 +01:00
parent bce9d81377
commit da2db43c8a
2 changed files with 83 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ require 'socket'
require 'linux/constants'
require 'linux/error'
require 'linux/netlink/message'
require 'linux/sendmsg'
module Linux
module Netlink
@@ -194,7 +195,8 @@ module Netlink
if select([@socket], nil, nil, timeout)
mesg, sender, rflags, controls = @socket.recvmsg
raise EOFError unless mesg
NLSocket.check_sockaddr(sender.to_sockaddr)
sender = sender.to_sockaddr if sender.respond_to? :to_sockaddr
NLSocket.check_sockaddr(sender)
mesg
else
raise "Timeout"