eventfd api (linux version >= 2.6.22):
#include <sys/eventfd.h>
int eventfd(unsigned int initval, int flags);
描述:
eventfd() 创建一个“eventfd 对象”,它可以被用户空间应用程序用作事件等待/通知机制,并被内核用来通知用户空间应用程序事件。 该对象包含一个由内核维护的无符号 64 位整数 (uint64_t) 计数器。 该计数器使用参数 initval 中指定的值进行初始化。
参数:
initval: 初始化由内核维护的 uinit64_t 类型值 counter
flags:
EFD_CLOEXEC(Linux version >= 2.6.27):在返回的 fd 上设置 close-on-exec (FD_CLOEXEC) 标志, fork 函数会拷贝一个 fd 并关联到相同的 eventfd 对象