Subject: select(2): timeout value description much less obvious than it
should be
Date: Mon, 14 Jul 2008 22:56:45 +0200
Package: manpages-dev
Version: 3.02-1
Severity: wishlist
Hello all,
man 2 select states:
"
timeout is an upper bound on the amount of time elapsed before select()
returns. It may be zero, causing select() to return immediately. (This is
useful for polling.) If timeout is NULL (no timeout), select() can block
indefinitely.
"
This... is... confusing.
aka "what the heck is the difference between timeout zero and timeout NULL!?!?"
"It may be zero" should thus definitely be changed into something like
"the timeout value represented by the timeval struct may be zero"
to make sure that people grok the difference between a NULL _pointer_ and a
zero _representation_ of a struct.
This all considering that this is indeed how select(2) works (haven't
actually verified it myself recently).
Thanks for your much needed docu work,
Andreas Mohr
tags 490868 fixed-upstream
thanks
Fixed for upstrream 3.04.
Andreas.
thanks for your bug report.
On Mon, Jul 14, 2008 at 10:56 PM, Andreas Mohr <[email protected]> wrote:
> Package: manpages-dev
> Version: 3.02-1
> Severity: wishlist
>
> Hello all,
>
> man 2 select states:
>
> "
> timeout is an upper bound on the amount of time elapsed before
select()
> returns. It may be zero, causing select() to return immediately.
(This is
> useful for polling.) If timeout is NULL (no timeout), select()
can block
> indefinitely.
> "
>
> This... is... confusing.
> aka "what the heck is the difference between timeout zero and timeout
NULL!?!?"
>
>
> "It may be zero" should thus definitely be changed into something like
> "the timeout value represented by the timeval struct may be zero"
> to make sure that people grok the difference between a NULL _pointer_ and
a
> zero _representation_ of a struct.
>
> This all considering that this is indeed how select(2) works (haven't
> actually verified it myself recently).
It is / your understanding is correct.
I've changed the wording to be something pretty similar to what you
suggest. the changes will be in upstream 3.04.
Cheers,
Michael
Source: manpages
Source-Version: 3.04-1
We believe that the bug you reported is fixed in the latest version of
manpages, which is due to be installed in the Debian FTP archive:
manpages-dev_3.04-1_all.deb
to pool/main/m/manpages/manpages-dev_3.04-1_all.deb
manpages_3.04-1.diff.gz
to pool/main/m/manpages/manpages_3.04-1.diff.gz
manpages_3.04-1.dsc
to pool/main/m/manpages/manpages_3.04-1.dsc
manpages_3.04-1_all.deb
to pool/main/m/manpages/manpages_3.04-1_all.deb
manpages_3.04.orig.tar.gz
to pool/main/m/manpages/manpages_3.04.orig.tar.gz
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Joey Schulze <[email protected]> (supplier of updated manpages package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Wed, 23 Jul 2008 10:56:23 +0200
Source: manpages
Binary: manpages manpages-dev
Architecture: source all
Version: 3.04-1
Distribution: unstable
Urgency: low
Maintainer: Martin Schulze <[email protected]>
Changed-By: Joey Schulze <[email protected]>
Description:
manpages - Manual pages about using a GNU/Linux system
manpages-dev - Manual pages about using GNU/Linux for development
Closes: 435648490868
Changes:
manpages (3.04-1) unstable; urgency=low
.
* New upstream version
. Clarify "zero timeout" case in select(2) (closes: Bug#490868)
. Clarify treatment of initial white space by %% conversion
specification in scanf(3) (closes: Bug#435648)
Checksums-Sha1:
a79604c1e982c64ff09b4c8b2f320a0d5b75db87 964 manpages_3.04-1.dsc
85e115c2e86b3f71985be0c52a06a1f4e3cacba8 1394674 manpages_3.04.orig.tar.gz
2f07ed0b5ff8eec1e38310921143271fbd40de67 46625 manpages_3.04-1.diff.gz
bdf9c6e9285cd7bac414a1d5acac6c70403423c8 608242 manpages_3.04-1_all.deb
63be5cccb61b1d669034c96edc2f435b5468c8d3 1428976 manpages-dev_3.04-1_all.deb
Checksums-Sha256:
276dc265a555e8d9faf48e69187d44975c46279ad3f07ecb87bdb55f1cc81147 964 manpages_3.04-1.dsc
54fa6c13b9953919302cc4d7982ba9d84db6cefa0d9a4b9d7618e364c66088cf 1394674 manpages_3.04.orig.tar.gz
4f82f5a93fb027c1ebab645fe760f2ecec71ebadbb00124c179599506ebb4442 46625 manpages_3.04-1.diff.gz
247c2c821eff3e519fcf446f47e2af3c41e10ba965aff1d901a504acca07a2bc 608242 manpages_3.04-1_all.deb
9e9f721c8ad0ed9817b76ec4151da283aaac0b9ec86adee1f1dee6c0c4a0d531 1428976 manpages-dev_3.04-1_all.deb
Files:
bfeaba2ec9d63d25ea2bf5335e9fb8fc 964 doc important manpages_3.04-1.dsc
3b257b63206672d23dd1fbf010ddbab8 1394674 doc important manpages_3.04.orig.tar.gz
544192399c449909ef2fe4ce7b485d87 46625 doc important manpages_3.04-1.diff.gz
ece0d65b229f7651821160ee7db173d7 608242 doc important manpages_3.04-1_all.deb
9c1fbbd8f7dbe3673db13070f696b585 1428976 doc optional manpages-dev_3.04-1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iD8DBQFIhvNZW5ql+IAeqTIRAvQjAKC5jiylugwu6Wzy62HNne1N/KYMRQCgkW6p
UahvlChjvm7JnV/mKP/ggNw=
=tOir
-----END PGP SIGNATURE-----