Linux 中的飞行套接字

Linux 中的飞行套接字

我正在检查套接字sendmsg的系统调用代码AF_UNIX,在那里我找到了一个函数:(wait_for_unix_gc飞行套接字的垃圾收集器)。谁能简单介绍一下这些机上插座是什么?

内核文件:linux/net/unix/garbage.c

答案1

直接抄自Unix网络编程V1:第15.7章

发送进程构建一个 msghdr 结构(第 14.5 节),其中包含要传递的描述符。 POSIX 指定描述符作为辅助数据发送(msghdr 结构的 msg_control 成员,第 14.6 节),但较旧的实现使用 msg_accrights 成员。发送进程调用sendmsg通过Unix域套接字发送步骤1中的描述符。此时,我们说描述符是“飞行中”即使发送过程 关闭描述符调用 sendmsg 后,但在接收之前 进程调用recvmsg(下一步),描述符保持开放 用于接收过程。发送描述符会将描述符的引用计数加一。

相关内容