1#include "util.h" 2#include <poll.h> 3#include <unistd.h> 4#include <fcntl.h> 5 6static void Bm_function_Poll(benchmark::State &state) 7{ 8 struct pollfd pfd; 9 int fd = open("/dev/zero", O_RDONLY, OPEN_MODE); 10 if (fd == -1) { 11 perror("open poll"); 12 exit(-1); 13 } 14 15 pfd.fd = fd; 16 pfd.events = POLLIN; 17 18 for (auto _ : state) { 19 benchmark::DoNotOptimize(poll(&pfd, 1, 0)); 20 } 21 22 close(fd); 23 state.SetBytesProcessed(state.iterations()); 24} 25 26MUSL_BENCHMARK(Bm_function_Poll);