To get really
accurate timing in all cases, this thread should even have
higher priority than the one created by jackd (*), otherwise all events
that occur while a jack_process() is running will be delayed until the
end of all processing for the current cycle.
This won't help, because
the process routine will only be called once by
jack during one jack period. If its the first in the graph then your routine
may have been processed before an event has actually arrived.
The only reasonable ways to achive lower latencies is to sync jack to an
interrupt source with higher interrupt frequency than the soundcard or to
change jack so it subdivides its period into smaller periods and busy wait
to equally spread the subperiods over the jack period.
Ralf