diff options
Diffstat (limited to 'testing/timidity++/timidity++-2.13.2-polling.patch')
-rw-r--r-- | testing/timidity++/timidity++-2.13.2-polling.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/timidity++/timidity++-2.13.2-polling.patch b/testing/timidity++/timidity++-2.13.2-polling.patch new file mode 100644 index 000000000..a9638dba1 --- /dev/null +++ b/testing/timidity++/timidity++-2.13.2-polling.patch @@ -0,0 +1,34 @@ +--- interface/alsaseq_c.c 2006/12/13 23:22:53 1.28 ++++ interface/alsaseq_c.c 2008/04/16 00:14:45 1.29 +@@ -501,6 +501,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)) +@@ -528,15 +530,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; + } + } + |