c - epoll_wait中 "events"指针分配多少内存

标签 c linux epoll

我试图理解 epoll_wait 中的“事件”指针。当 epoll_wait 返回时,这个指针是否指向所有事件结构都存在的内存(不是由用户分配的)?或者我们是否必须为该指针分配内存,然后传递指针,以便事件将填满该内存位置?

如果必须分配内存,那么应该分配多少?假设我想在 10,000 个套接字上执行 epoll_wait。所有这些都将被检查以获取要读取的数据 (EPOLLIIN)。那么,我是否应该为 *events 分配相当于 10,000 个事件结构的内存?

谢谢,

VSN

最佳答案

你看过例子吗? epoll(7)手册页?您需要提供实际的事件数组,或者作为示例中的适当数组,或者通过分配堆(然后释放它)。

关于c - epoll_wait中 "events"指针分配多少内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220458/

相关文章:

c++ - 为 x86 系统编译 Readline(静态模式)

c - 我的 fork fifo c 代码不能正常工作

linux - 什么情况下是在前台或后台进行关闭/关闭?

c - 在未正确分配的函数中初始化的链表结构

c - printf 和++ 运算符

linux - 运行 Rsync 命令的问题

c++ - epoll数据结构中同时使用void *ptr和int fd

c - Libapr .so 文件不具备源代码的功能

c - 如何使用 C 中的指针来显示每个字母在数组中出现的次数?

c - Makefile 编译并执行c程序