From 2699164b569dbf529708b10d25f2e93eaf7c5a0d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 13 Jan 1999 21:54:44 +0000 Subject: [PATCH] Fixes... --- test/seq-sender.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/seq-sender.c b/test/seq-sender.c index e6dbe873..a9923f7a 100644 --- a/test/seq-sender.c +++ b/test/seq-sender.c @@ -74,7 +74,7 @@ void event_sender(void *handle, int argc, char *argv[]) snd_seq_port_info_t port; snd_seq_port_subscribe_t sub; fd_set out, in; - int client, queue, max, err, v1, v2, time = 0; + int client, queue, max, err, v1, v2, time = 0, first; char *ptr; if (argc != 1) { @@ -128,6 +128,7 @@ void event_sender(void *handle, int argc, char *argv[]) printf("Destonation client = %i, port = %i\n", sub.dest.client, sub.dest.port); + first = 1; while (1) { FD_ZERO(&out); FD_ZERO(&in); @@ -136,7 +137,10 @@ void event_sender(void *handle, int argc, char *argv[]) if (select(max + 1, &in, &out, NULL, NULL) < 0) break; if (FD_ISSET(max, &out)) { - send_event(handle, queue, client, port.port, &sub, &time); + if (first) { + send_event(handle, queue, client, port.port, &sub, &time); + first = 0; + } } if (FD_ISSET(max, &in)) { do { @@ -144,6 +148,8 @@ void event_sender(void *handle, int argc, char *argv[]) break; if (!ev) continue; + if (ev->type == SND_SEQ_EVENT_ECHO) + send_event(handle, queue, client, port.port, &sub, &time); decode_event(ev); snd_seq_free_event(ev); } while (err > 0); -- 2.47.1