FD handlers are per thread ergo they only have a chance to run if
serve-event is called in the same thread. This works for me:
So in the unthreaded version they 'just work' because the REPL would
call serve-event somewhere, while in the threaded version the base
system starts a few different threads and my code was run in a
different one from the REPL? Being dependant on the REPL for the
fd-handlers to fire would explain some other weird behaviour I had
witnessed...
I've got everything working fine now, thanks for the help. By the way,
if there exists a documentation of the stuff in sb-sys online somewhere
I'd love to hear about it... looking at other people's code and using
trial and error is not really a substitute for knowing what you are
doing.