作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在我的程序中使用了poll()
函数,我读到this link要使用 POLLRDHUP
标志,您必须在包含所有头文件之前定义 _GNU_SOURCE
。我需要这个标志,以便轮询套接字可以告诉我客户端是否已挂断,以便我可以终止相应的线程。
顺便说一句,我正在为可以同时处理多个客户端的“echo”服务器编写 C 程序,并且我在 OpenSuse Linux Enterprise Server 10.3 (x86_64) 上使用 GCC 4.1.2。
最佳答案
POLLRDHUP
是一个非标准扩展(它是 missing from POSIX )。为防止污染命名空间,非标准扩展是不可见的,除非您通过 defining _GNU_SOURCE
明确请求它们.
有关 _GNU_SOURCE
的更多详细信息可以在以前的 StackOverflow 答案中找到 such as this one .
关于c - 为什么我们需要在 poll() 函数中使用 POLLRDHUP 事件标志之前定义 _GNU_SOURCE 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207977/
根据poll man page , poll 函数可以返回 POLLHUP 和 POLLRDHUP 事件。据我了解,只有 POLLHUP 符合 POSIX,而 POLLRDHUP 是 Linux 非标
我在我的程序中使用了poll()函数,我读到this link要使用 POLLRDHUP 标志,您必须在包含所有头文件之前定义 _GNU_SOURCE。我需要这个标志,以便轮询套接字可以告诉我客户端是
我是一名优秀的程序员,十分优秀!