腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
内核
如何
从
epoll
兴趣
列表
中
删除
已
关闭
的
fd
?
、
、
、
、
我正在尝试使用
epoll
,其中有一个部分让我有点困惑。因此,
从
epoll
的
手册页: 6.据我所知,这些例子是可能
的
: Example1: dup(
fd
1) ->
fd
2 close(
fd
1) - not removed fromsignals
fd
1 (for me this looks like it should not happen) 我<
浏览 176
提问于2021-08-03
得票数 1
回答已采纳
1
回答
linux
下多线程
epoll
的
一个问题
、
、
我有一个使用
epoll
(7)
的
多线程
linux
程序。
epoll
(7)手册页显示,当其中一个
fd
关闭
时,此
fd
将自动
从
epoll
集合
中
删除
。我
的
问题是,如果
epoll
集
的
fd
在一个线程
中
关闭
,而
epoll
集在没有同步
的
情况下在另一个线程中被并发轮询,该怎么办?
浏览 0
提问于2011-05-17
得票数 7
回答已采纳
3
回答
套接字:用于"
fd
“和"select”操作
的
任何库或包装器?
、
、
是否有用于对原始套接字(
fd
、、.)操作
的
C包装器或库?没有火箭科学,只是一个可读
的
,很好
的
包装
FD
_SET等。相关
浏览 3
提问于2012-10-18
得票数 1
1
回答
Epoll
:它会悄悄地
删除
fds吗?
、
、
、
我一直在阅读,无意中发现了这样
的
评论: a)
epoll
悄悄地
从
fd
集中
删除
fds。由于没有任何信息告诉我们
fd
已经被移除,所以我们必须不断地“重新武装”我们怀疑可能已经改变
的
fds ( kqueue也有同样
的
问题,但那里
的
成本要低得多)。我在一些现代
linux
内核
上用
epoll
(直接使用syscalls)做了一些测试,但是我无法复制它。我看不出“消失
的
fds
浏览 3
提问于2017-10-28
得票数 1
回答已采纳
1
回答
关闭
管道
的
读取端
epoll
_wait
的
预期行为是什么?
、
、
我很难
从
epoll
文档
中
理解这一点:假设我有pipe(
fd
),所以我们有
fd
[0]用于阅读,
fd
[1]用于编写。我们编写一些东西给
fd
[1],然后
关闭
它:write(
fd
[1], "def", 3);我们可能同时创建一个
epoll
实例,告诉它等待它可以
从<
浏览 5
提问于2013-11-09
得票数 0
回答已采纳
2
回答
复制
epoll
文件描述符
、
、
、
、
是否有一种方法可以复制使用
epoll
_create创建
的
文件描述符,以便可以独立地修改副本(使用
epoll
_ctl添加/
删除
监视
的
文件描述符)。例如,我创建了一个
epoll
文件描述符A,它等待文件P和Q上
的
事件。我将其复制到
epoll
文件描述符B,并使B也等待文件R上
的
事件。调用
epoll
_wait(A)仍然只能等待P和Q。这是在A上调用A时
的
行为,还是需要使用
epoll
浏览 3
提问于2016-06-13
得票数 1
回答已采纳
1
回答
PostgreSQL与
epoll
_wait异步连接
、
、
我想在我
的
linux
项目中异步地使用PostgreSQL (9.1)。为此,我必须使用
epoll
_wait (因为应用程序
的
其他部分)。最终目标将是在边缘触发模式下使用
epoll
。然而,当用户名和密码是正确
的
,它是有效
的
。但是,当密码错误时,它也必须工作。在这种情况下,我会犯一些我不明白
的
错误。-/这里是我使用
的
代码(连接已经用PQconnectStart()和PQconnectdb()很好地工作
的
参数<e
浏览 2
提问于2016-02-03
得票数 3
回答已采纳
3
回答
当
fd
关闭
时,我会收到来自
epoll
的
通知吗?
、
我目前正在构建一些使用
epoll
的
东西。它工作得很好,但在底层
fd
关闭
时,如果
从
epoll
中
删除
了文件描述符,就会有一个通知,这会更好。 有没有办法在
fd
关闭
后立即收到来自
epoll
的
通知?
浏览 2
提问于2017-03-27
得票数 7
1
回答
如何
在
epoll
_wait之后更新
epoll
事件?
、
、
下面的代码摘录(经过大量修改以
删除
不重要
的
细节)在一组罕见且特殊
的
情况下失败。
epoll
_wait在events struct表中使用排队
的
3个事件解除阻塞。 第一个事件(n=0)是传入
的
数据,之后代码决定
关闭
连接(例如文件描述符8),因为它不再需要。第二个事件(n=1)是一个传入
的
新连接。accept4分配
fd
:8,因为它最近已经可用。setNew_Connection将其添加到
epoll
列表
浏览 2
提问于2015-10-28
得票数 1
回答已采纳
1
回答
为什么
epoll
_wait()对dup2(writable_
fd
,non_writable_
fd
)没有反应?
、
、
让我们想象一下,我在
epoll
观察者
中
添加了不可写
的
fd
,等待它何时变为可写
的
。
epoll
_ctl(epollfd,
EPOLL
_CTL_ADD, non_writable_
fd
, {EPOLLOUT})那我来做这个 dup2(writable_
fd
, non_writable_
fd</e
浏览 1
提问于2015-01-14
得票数 1
回答已采纳
1
回答
在
关闭
epoll
实例本身之前,是否需要
删除
兴趣
列表
中
的
所有文件描述符?
、
、
、
、
但条件是: 是否需要在
关闭
epoll
实例本身之前
删除
兴趣
列表
中
<e
浏览 13
提问于2022-01-01
得票数 3
回答已采纳
2
回答
来自
epoll
_wait
的
事件顺序
、
、
、
我已经将一个程序
从
select移植到
epoll
,以增加我们可以处理
的
套接字
的
数量。我已经在
epoll
FD
中
添加了套接字,并且可以愉快地读写。我知道,下次我打电话给
epoll
_wait时,它会给我剩下
的
,但是我不知道我用什么命令让他们和那些最后一次和这次没有成功的人在一起。 例如:假设我有10个套接字连接并添加到
epoll
fd
中
。我只有5个
epoll
_event
浏览 1
提问于2018-05-17
得票数 4
回答已采纳
3
回答
是否有定义调用另一个系统调用函数
的
系统调用函数?
、
、
在
Linux
中
,是否存在定义调用另一个系统调用函数
的
系统调用函数?谢谢。
浏览 1
提问于2018-04-26
得票数 4
2
回答
在
epoll
的
events结构中使用void ptr
、
在
epoll
事件结构中有一个。我正在为此分配内存,并在其他地方使用它。现在,当我想要将
FD
从
epoll
列表
中
删除
时,这个指针会自动释放吗?(逻辑思想链是事件结构在内部维护,可能由
内核
维护。所以它会释放事件结构和分配给指针
的
内存),或者我必须显式地释放它? 附言:我看到一段代码,它没有释放分配给指针
的
内存。我觉得它应该被明确地释放。
浏览 2
提问于2012-05-01
得票数 2
回答已采纳
1
回答
boost::asio扩展TCP套接字
、
、
、
我正在尝试做一个asio扩展,类似于boost套接字,在windows和
linux
上都能实现。这些扩展将用于与使用
linux
的
EIBD
的
KNX网络进行交互。问题是,
如何
监控多个文件描述符。如果使用select(),
如何
绕过
FD
_SETSIZE限制? boost
如何
在套接字实现
中
处理此问题?据我所知,在windows上使用
的
是IO完成端口。
浏览 0
提问于2012-11-22
得票数 3
回答已采纳
1
回答
查找
epoll
实例中注册了哪些描述符
、
、
、
我想知道是否有一种方法可以使用gdb或其他检查工具找出为特定
epoll
实例注册了哪些描述符(以及预期
的
事件)?当使用轮询或选择时,很容易找到它,因为所有这些信息都可以在内存
中
免费获得,对于正在运行
的
进程是可见
的
,并且可以在调试器中进行探索。然而,
epoll
有所不同,因为它将所有这些数据都保存在
内核
空间中。我意识到,我可以使用跟踪来检测我
的
代码,以了解
epoll
实例在每个特定时刻都会发生什么事件,但是有其他方法对我来说会非常方便。 谢谢
浏览 1
提问于2013-01-27
得票数 3
2
回答
gRPC(C基)轮询引擎是用'epollex‘构建
的
,尽管它使用
的
是LinuxVersion4.5
内核
、
、
、
、
我有一个关于(C基)
的
问题。 不过,据我所证实,事实并非如此我在
Lin
浏览 2
提问于2021-04-25
得票数 2
回答已采纳
2
回答
是否可以检查某些
fd
是否属于
epoll
集合?
假设我已经构造了一个
epoll
集合,是否可以找出某个
fd
是否属于这个
epoll
集合?有没有可能从这个
epoll
集合
中
找出某个
fd
感
兴趣
的
事件?谢谢。
浏览 0
提问于2013-04-18
得票数 2
回答已采纳
1
回答
为什么有一个能工作
的
升级机制这么复杂?
我被一个完整
的
引导分区卡住了。不,太好了-洗干净不会改变任何事,别再对我重复了。在我看来,就像默认
的
分区设置,当我第一次安装这个操作系统时,它只是让引导太小了,当它知道它将无缘无故地保留它自己
内核
的
所有版本时,每次它要求更新或升级时(这是如此
的
清晰.)我该
如何
一劳永逸地解决这个问题呢?如果它涉及改革整个驱动器,它将完成与另一个操作系统。一个能工作
的
。
浏览 0
提问于2015-11-06
得票数 -1
3
回答
通过/proc/mounts监视挂载点更改
、
、
、
、
根据proc手册,可以通过打开“/proc/ mount”,并在select()调用
中
添加读取
fd
_set
的
文件描述符来监控
linux
系统
中
挂载点
的
变化。下面这段代码可以在Ubuntu 9.04上运行,但不能在Ubuntu 10.04 ( 2.6.32
linux
内核
)上运行:
fd
_
浏览 8
提问于2011-02-22
得票数 10
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Go netpoll I/O多路复用构建原生网络模型之源码深度解析
多路复用就绪通知技术:epoll简介
彻底搞懂 IO 底层原理
ARTS-第-18-期
linux开发各种I/O操作简析,以及select、poll、epoll机制的对比
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券