epoll_create wrapper function is not used

Bran S archsbran at gmail.com
Sun Jun 28 16:54:23 UTC 2020

In tests/epoll_create.c:
    const long int size = (long int) 0xdeadbeefffffffffULL;
    long rc = syscall(__NR_epoll_create, size);

Why syscall(__NR_epoll_create) is used when a wrapper function is
available for it in #include <sys/epoll.h>? Are they different in some
way? What is the reason for not using the wrapper?

In manpage of epoll_create there is a line:
"Library support is provided in glibc starting with version 2.3.2."
Is this the reason? So that machines with glibc 2.3.2 can also use this?

Also, why the datatype of size parameter is 'long int'? epoll_create's
prototype has got the size parameter's datatype to be 'int'.

More information about the Strace-devel mailing list