summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2009-05-12 16:00:46 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2009-05-12 16:00:46 +0000
commit521e738d4f000545a124b3f4cd06493aaa457990 (patch)
tree5497a0de83a71d6a65745ca35b07cc162abdaab7 /media-sound/timidity++/files
parentkeyworded ~arch for x86, bug 264694 (diff)
downloadgentoo-2-521e738d4f000545a124b3f4cd06493aaa457990.tar.gz
gentoo-2-521e738d4f000545a124b3f4cd06493aaa457990.tar.bz2
gentoo-2-521e738d4f000545a124b3f4cd06493aaa457990.zip
Add polling patch by Stas Sergeev wrt #200466, thanks to Miguel Marte for reporting.
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/timidity++/files')
-rw-r--r--media-sound/timidity++/files/timidity++-2.13.2-polling.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/media-sound/timidity++/files/timidity++-2.13.2-polling.patch b/media-sound/timidity++/files/timidity++-2.13.2-polling.patch
new file mode 100644
index 000000000000..5e24339ad02c
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.13.2-polling.patch
@@ -0,0 +1,34 @@
+--- /var/tmp/portage/media-sound/timidity++-2.13.2-r6/work/TiMidity++-2.13.2/interface/alsaseq_c.c 2007-11-27 14:08:14.000000000 -0500
++++ TiMidity++-2.13.2/interface/alsaseq_c.c 2007-11-27 14:13:49.000000000 -0500
+@@ -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;
+ }
+ }
+