* Ian Kent <raven@xxxxxxxxxx> wrote:
ah! It passes in a low-res time source into a high-res time interface (pthread_cond_timedwait()). Could you change the time(NULL) + 1 to time(NULL) + 2, or change it to:OK, I'm with you, hi-res timer.
gettimeofday(&wait, NULL);
wait.tv_sec++;
But even so, how is the time in the past after adding a second.
Is it because I'm not setting tv_nsec when it's close to a second boundary, and hence your recommendation above?
yeah, it looks a bit suspicious: you create a +1 second timeout out of a 1 second resolution timesource. I dont yet understand the failure mode though that results in that looping and in the 30% CPU time use - do you understand it perhaps? (and automount is still functional while this is happening, correct?)