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标志,它的作用是什么?
  • 是什么角色,我在哪里可以使用它?

  • 我看到了示例,但其用法无法理解。

    为什么需要它?

    最佳答案

    checkout detailed man page of eventfd时要特别注意以下几点:

  • eventfd() example演示父子进程对之间的IPC(进程间通信)。
  • initval是eventfd 中的“内置”计数器。
    检查read(), write(), poll(), select()的行为,以查看计数器的值如何影响它们在eventfd上的行为。
  • flags参数决定eventfd 的语义。
    根据您的内核版本,可以从EFD_CLOEXECEFD_NONBLOCKEFD_SEMAPHORE中选择以下标志。
  • 08-16 09:28