---- TiMidity++-2.13.2/interface/alsaseq_c.c.orig 2010-12-16 13:26:54.000000000 +0100
-+++ TiMidity++-2.13.2/interface/alsaseq_c.c 2010-12-16 14:15:24.486618509 +0100
-@@ -505,6 +505,8 @@
-
- static void doit(struct seq_context *ctxp)
- {
-+ fd_set rfds;
-+ struct timeval timeout;
- for (;;) {
- while (snd_seq_event_input_pending(ctxp->handle, 1)) {
- if (do_sequencer(ctxp))
-@@ -532,15 +534,17 @@
- play_event(&ev);
- aq_fill_nonblocking();
- }
-- if (! ctxp->active || ! IS_STREAM_TRACE) {
-- fd_set rfds;
-- struct timeval timeout;
-- FD_ZERO(&rfds);
-- FD_SET(ctxp->fd, &rfds);
-+
-+ FD_ZERO(&rfds);
-+ FD_SET(ctxp->fd, &rfds);
-+ if (ctxp->active) {
- timeout.tv_sec = 0;
- timeout.tv_usec = 10000; /* 10ms */
- if (select(ctxp->fd + 1, &rfds, NULL, NULL, &timeout) < 0)
- goto __done;
-+ } else {
-+ if (select(ctxp->fd + 1, &rfds, NULL, NULL, NULL) < 0)
-+ goto __done;
- }
- }
-