Subject: looking for explanation of select() timeout behaviour

From: "Chris Friesen" <[email-masked]>
Date: Mon, 23 Jun 2008 10:00:26 -0600

I've got something odd in a recent strace log (running on an older 
kernel, I haven't yet tried to reproduce in mainline):

20418 22:06:50.583303 select(19, [7 11 12 13 14 15 16 17 18], NULL, 
NULL, {0, 498508}) = 1 (in [11], left {0, 0}) <5.074137>

select() was called with a timeout of half a second.  Five seconds later 
it returns with zero time left and a single socket readable.  Why 
wouldn't it have returned after half a second with a timeout?

My immediate suspicion would be to look at scheduler behaviour, but are 
there any other explanations?  I'm fairly sure system time wasn't 
changed during this interval (the system should have been ntp-synced).

Thanks,

Chris