split up constants.h some
[trinity.git] / fd-eventfd.c
blobba089212b91f5aedda357fcc264a0c29873af2c0
1 /* eventfd FDs */
3 #include <errno.h>
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <unistd.h>
8 #include <sys/epoll.h>
9 #include <sys/eventfd.h>
11 #include "eventfd.h"
12 #include "files.h"
13 #include "log.h"
14 #include "net.h"
15 #include "params.h"
16 #include "pids.h"
17 #include "random.h"
18 #include "sanitise.h"
19 #include "shm.h"
20 #include "trinity.h"
22 void open_eventfd_fds(void)
24 unsigned int i;
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];