--- interface/alsaseq_c.c~ 2004-07-10 08:07:00.000000000 +0300 +++ interface/alsaseq_c.c 2007-05-12 17:11:49.000000000 +0300 @@ -529,13 +529,18 @@ } if (! ctxp->active || ! IS_STREAM_TRACE) { fd_set rfds; - struct timeval timeout; FD_ZERO(&rfds); FD_SET(ctxp->fd, &rfds); - timeout.tv_sec = 0; - timeout.tv_usec = 10000; /* 10ms */ - if (select(ctxp->fd + 1, &rfds, NULL, NULL, &timeout) < 0) - goto __done; + if (! IS_STREAM_TRACE) { + struct timeval timeout; + 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; + } } }