LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1082|回复: 0

关于传递描述符的N个疑问

[复制链接]
发表于 2007-7-23 02:26:46 | 显示全部楼层 |阅读模式
照着网上的例子http://blog.csdn.net/zysee/archive/2007/01/16/1484198.aspx 和  unix环境下的高级编程上的例子学习进程间传递描述符,有下面N个问题不清楚:
1. 应该是将进程的文件表项指针传给另一个进程,只传一个文件描述符(一个整数)能访问另一个进程打开的文件吗?(例子中确实传的是一个整数,所以就报错:bad file descriptor)
2.进程A把一个msghdr用sendmsg发送到进程B后,进程B用recvmsg收这个msghdr,怎么接收到的这个msghdr的msg_controllen的值变成0了?msg_control中也没有原本在进程A中赋的值,但是进程A调用sendmsg时msg_controllen的值不是0。好像唯一不变的是msg_iov和msg_iovlen这两个字段。
3.虽说用UNIX域套接字可以传递文件描述符,但是如果两个进程没有父子关系或兄弟关系,好像socketpair就不管用了,想用socket传文件描述符是不是还得让一个进程bind另一个进程connect?在这种情况下UNIX域套接字还管用吗?
4.有没有只用ioctl的I_SENDFD和I_RECVFD传文件描述符的例子看看?

问题比较多,恳请大家热心解答,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表