In core.sys.linux.epoll, struct epoll_event is defined as struct epoll_event { align(1): uint events; epoll_data_t data; } where it should be align(1) struct epoll_event { align(1): uint events; epoll_data_t data; } This causes epoll_event.sizeof == 16, where it should be 12, thus an array of epoll_event is meaningless.
Pull request: https://github.com/D-Programming-Language/druntime/pull/1302
Commits pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/86cc2563e64fcb41d7e82fd5465272a9653130db Fix epoll_event alignment (issue 14702) https://github.com/D-Programming-Language/druntime/commit/8e99214e68f018c29fc53d8992dd591e275ffaed Merge pull request #1302 from tomerfiliba/patch-1 Fix epoll_event alignment (issue 14702)
*** Issue 13338 has been marked as a duplicate of this issue. ***
Commits pushed to stable at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/86cc2563e64fcb41d7e82fd5465272a9653130db Fix epoll_event alignment (issue 14702) https://github.com/D-Programming-Language/druntime/commit/8e99214e68f018c29fc53d8992dd591e275ffaed Merge pull request #1302 from tomerfiliba/patch-1