2013-07-30 28 views
1

我读到eventfd是有效的,因为内核会通知用户进程有关文件描述的事件。我看到了它在例如Linux中的Eventfd角色

http://graphics.sci.ubu.ac.th/api/man-html/htmlman2/eventfd.2.html

  1. 我看到了两个论点:
    一个。一个是unsigned int initval,它是内核计数器。我怎么用这个?
    b。 int标志,它的作用是什么?
  2. 什么是角色,我可以在哪里使用它?

我看到了一个例子,但其用法无法理解。

它为什么需要?

回答

2

结帐的detailed man page of eventfd特别注意以下几点:

  • eventfd() example父子进程对之间展示IPC(进程间通信)。

  • initval是eventfd中的“内置”计数器。
    检出read(), write(), poll(), select()的行为以查看计数器的值如何影响其在eventfd上的行为。

  • flags参数决定eventfd的语义。
    根据您的内核版本,以下标志可供选择:EFD_CLOEXEC,EFD_NONBLOCKEFD_SEMAPHORE