On Wed, Nov 08, 2006 at 12:20:42AM +0000, James Courtier-Dutton wrote:
The current jackd skips a step in the processing of
the poll events.
Looking at the code it seems already quite elaborate.
Basically what happens comes down to (ignoring error
checking and timeouts):
- The set of pollfd is poll()'ed until all are ready.
- Within each iteration of the loop the pollfd used
are re-initialised by a call to the alsa library.
- There is one optimisation: the pollfd are divided
into two groups, one for capture and one for playback.
A group that is complete is not polled again.
I use similar code in libclalsadrv and in a new
jackd backend that I wrote last week.
What is misssing ?
--
FA
Lascia la spina, cogli la rosa.