Note the following: (from the API file)
IMPORTANT: elvin uses timeouts internally. So, this function does
NOT guarantee that when it returns, either an event has been
recieved or your timeout has passed. This should not be much of
a problem, but you have been warned!
The above is not really fixable, without hacking elvin. And it may
not be entirely fixable even then. In particular, the first call to
event_poll_blocking() will always return at once, since there are
leftover timers from connecting to elvind.