Re: select(0,NULL,NULL,NULL,&t1) used for delay

From: Bernd Petrovitsch
Date: Thu Oct 06 2005 - 10:44:06 EST


On Thu, 2005-10-06 at 09:26 -0600, Christopher Friesen wrote:
> Alex Riesen wrote:
>
> > Why don't you just use nanosleep(2) (or usleep)?
>
> I can think of one main reason...existing code. Also, nanosleep()

And it's cooler to hack the kernel than to create and use a
portable_sleep() function and use it.

> rounds up excessively in many kernel versions, so that a request to
> sleep for less than 1 tick ends up sleeping for 2 ticks.
^^^^^^^

> The select() man page explicitly mentions this usage;
>
> "Some code calls select with all three sets empty, n zero, and a
> non-null timeout as a fairly portable way to sleep with subsecond
^^^^^^^^^
> precision."
^^^^^^^^^

You do realize that "subsecond precision" is probably meant as
improvement to sleep(3) and surely not to nanosleep(2)?

Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/