I'm designing a library using POSIX that needs to sit on a few FDs and wake up when data is available. Just like select() and poll() have done for me for years. But now I gotta be ...