extern struct sock *netlink_kernel_create(int unit, unsigned int groups, void (*input)(struct sock *sk, int len), struct module *module);
struct netlink_skb_parms
{
struct ucred creds; /* Skb credentials */
__u32 pid;
__u32 dst_pid;
__u32 dst_group;
kernel_cap_t eff_cap;
__u32 loginuid; /* Login (audit) uid */
__u32 sid; /* SELinux security id */
};
与楼主的不同
sendmsg(sock_fd, &msg, 0);
memset(nlh, 0, NLMSG_SPACE(MAX_PAYLOAD));
recvmsg(sock_fd, &msg, 0);
用户态发送后理解接收,这里的接收会进入阻塞状态吗?
如果会,那么如果又恰巧 kernelspace -> userspace 丢包了怎么办? 原帖由 platinum 于 2009-9-14 13:39 发表 http://bbs3.chinaunix.net/images/common/back.gif
sendmsg(sock_fd, &msg, 0);
memset(nlh, 0, NLMSG_SPACE(MAX_PAYLOAD));
recvmsg(sock_fd, &msg, 0);
用户态发送后理解接收,这里的接收会进入阻塞状态吗?
如果 ...
测试了下,如果内核不返回,用户态程序会阻塞住。。。
如果用户态退出或者不接收做其他事情,这个消息貌似就丢了,内核中也没有任何信息打印 为啥代码好多   呢? 空格? 好了,发现代码掉了右中括号。。补上了,七怪。 hk2305621 发表于 2012-09-18 21:43
为啥代码好多   呢? 空格?
修好了。
页:
1
[2]