It's doing select() on a pipe, but only sockets work with select(),
and the read() on a pipe is not interruptible by an alarm. That's
probably because our pipe implementation is doing mailbox reads at
AST level but the alarm signal is also an AST and can't interrupt
another AST at the same mode.