What does it mean by “#define X X”?
This create a macro named EPOLLIN whose replacement text is also EPOLLIN. This is most likely a way for the preprocessor to check which event codes are available and conditionally compile code as necessary. If we go to the git repo for glibc and look at the output of git blame we see the following … Read more