That's for blocking IO, it doesn't work on evented IO:
> [SO_RCVTIMEO and SO_SNDTIMEO] only have effect for system calls that perform socket I/O (e.g., read(2), recvmsg(2), send(2), sendmsg(2)); timeouts have no effect for select(2), poll(2), epoll_wait(2), and so on.
And from my understanding would have the same effect as a timeout on select/poll, so it's not the correct way to do anything.