* add a basic select() loop for the read FD to see if it's ready
* optionally block in md_read() even if we timeout - this is used for
the md_command() side of things
* md_handle_input() however doesn't block and will happily timeout
so the loop can run and the periodic function can run.
This indeed seems to work. It's a bit dirty, but it at least stops
the main loop from being fully blocking and that's super useful for
modules that wish to schedule background work.
* Yeah it'd be nice to just use libevent here, alas
* Figure out how all the reading/writing works and comment it
* Add a periodic function that'll be called every trip through
the main loop; will turn it into something more formally periodic
later.
There's still lots to do here before I can actually schedule
periodic events and the read()s are non-blocking. Give it time!