This question already has answers here:
Writing to eventfd from kernel module
(3个答案)
7年前关闭。
我读到eventfd是有效的,因为内核会在文件描述中通知用户有关事件的信息。我在
http://graphics.sci.ubu.ac.th/api/man-html/htmlman2/eventfd.2.html
我看到两个参数:
一个。一个是unsigned int initval,它是内核计数器。我该如何使用呢?
b。 int标志,它的作用是什么? 是什么角色,我在哪里可以使用它?
我看到了示例,但其用法无法理解。
为什么需要它? eventfd() example演示父子进程对之间的IPC(进程间通信)。
检查
根据您的内核版本,可以从
(3个答案)
7年前关闭。
我读到eventfd是有效的,因为内核会在文件描述中通知用户有关事件的信息。我在
http://graphics.sci.ubu.ac.th/api/man-html/htmlman2/eventfd.2.html
一个。一个是unsigned int initval,它是内核计数器。我该如何使用呢?
b。 int标志,它的作用是什么?
我看到了示例,但其用法无法理解。
为什么需要它?
最佳答案
checkout detailed man page of eventfd时要特别注意以下几点:
initval
是eventfd 中的“内置”计数器。检查
read(), write(), poll(), select()
的行为,以查看计数器的值如何影响它们在eventfd上的行为。 flags
参数决定eventfd 的语义。根据您的内核版本,可以从
EFD_CLOEXEC
,EFD_NONBLOCK
和EFD_SEMAPHORE
中选择以下标志。 08-16 09:28