I don't have a a definite answer, but what makes you think it's not correct?
First of all, who/what defines what is correct behaviour? The epoll interface is not standardized as far as I know; all we have is the manual page, and it doesn't mention the type of the file descriptor returned by epoll_create.
Next, which of the following types would be better adapted in your opinion (from the inode(7) man page):
Code:
S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block device
S_IFDIR 0040000 directory
S_IFCHR 0020000 character device
S_IFIFO 0010000 FIFO
EDIT:
https://idea.popcount.org/2017-02-20...lly-broken-12/ (apart from the title, I did not read the blog post)