On Thu, Nov 15, 2012 at 2:44 PM, Merlin Moncure <mmonc...@gmail.com> wrote:

>>> select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 1000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 2000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 3000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 4000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 6000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 7000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 8000})  = 0 (Timeout)
>>> select(0, NULL, NULL, NULL, {0, 9000})  = 0 (Timeout)

This is not entirely inconsistent with the spinlock.  Note that 1000
is repeated 3 times, and 5000 is missing.

This might just be a misleading random sample we got here.  I've seen
similar close spacing in some simulations I've run.

It is not clear to me why we use a resolution of 1 msec here.  If the
OS's implementation of select() eventually rounds to the nearest msec,
that is its business.  But why do we have to lose intermediate
precision due to its decision?

Cheers,

Jeff


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to