c - 在 fcntl/F_SETOWN 之前,哪个进程是套接字的初始所有者?

标签 c linux network-programming

为了捕获与已接受连接关联的 SIGURG,必须执行 fcntl 调用以获取套接字所有权。这是否意味着默认情况下未将创建套接字的进程指定为套接字的所有者?如果是这样,谁是最初的所有者?谢谢

PS 这个问题与 Stevens 等人的网络编程的图 24.11 有关。

最佳答案

没有人是最初的所有者。如果您使用 F_SETOWN 设置进程组 ID,则套接字将从无“所有者”变为多个“所有者”。这里的问题实际上是“所有者”是一个糟糕的命名选择,因为实际效果更多的是请求紧急数据的通知,而不是以某种方式获得套接字的所有权。

关于c - 在 fcntl/F_SETOWN 之前,哪个进程是套接字的初始所有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17892372/

相关文章:

c - 是否允许在 __builtin_add_overflow 中使用别名?

c++ - 为什么 C/C++ 中的函数体放在单独的源代码文件中而不是头文件中?

linux - 为什么bash脚本启动的进程在终端关闭后不会退出?

在多线程程序中关闭文件描述符

C++ 网络编程库

无法检查C中函数的返回值

objective-c - 在不传递 nil 的情况下迭代函数中可变数量的参数

由于多个进程导致的linux高分辨率posix定时器延迟

Linux shell : prepend or append text to next line after matching line

Android Studio 网络监控不工作