CFRunLoop reading 8 bytes from any signalled file descriptor on Linux

Given that Swift is working towards formalizing a async/await-concurrency based model and subsequently privileging Dispatch suggests radical changes to CF would not be much of a priority. There might be scope to facilitate improvements to Foundation at the Swift level, though, but as we saw, we do have a FileHandle mechanism to integrate into the runloop.

That being said, privileging eventfds/timerfds/whatever to some sort of exposed formal API seems like a bad idea for portability in any case.