9 #include <sys/eventfd.h>
22 void open_eventfd_fds(void)
26 shm
->eventfd_fds
[0] = eventfd(rand32(), 0);
27 shm
->eventfd_fds
[1] = eventfd(rand32(), EFD_CLOEXEC
);
28 shm
->eventfd_fds
[2] = eventfd(rand32(), EFD_NONBLOCK
);
29 shm
->eventfd_fds
[3] = eventfd(rand32(), EFD_SEMAPHORE
);
30 shm
->eventfd_fds
[4] = eventfd(rand32(), EFD_CLOEXEC
| EFD_NONBLOCK
);
31 shm
->eventfd_fds
[5] = eventfd(rand32(), EFD_CLOEXEC
| EFD_SEMAPHORE
);
32 shm
->eventfd_fds
[6] = eventfd(rand32(), EFD_NONBLOCK
| EFD_SEMAPHORE
);
33 shm
->eventfd_fds
[7] = eventfd(rand32(), EFD_CLOEXEC
| EFD_NONBLOCK
| EFD_SEMAPHORE
);
35 for (i
= 0; i
< MAX_EVENTFD_FDS
; i
++)
36 output(2, "fd[%d] = eventfd\n", shm
->eventfd_fds
[i
]);
39 int rand_eventfd_fd(void)
41 return shm
->eventfd_fds
[rand() % MAX_EVENTFD_FDS
];