From: DervishD <raul@pleyades.net>
To: "Richard B. Johnson" <root@chaos.analogic.com>
Cc: "Sparks, Jamie" <JAMIE.SPARKS@cubic.com>,
Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: select() stress
Date: Tue, 18 Mar 2003 11:28:37 +0100 [thread overview]
Message-ID: <20030318102837.GH42@DervishD> (raw)
In-Reply-To: <Pine.LNX.4.53.0303171112090.22652@chaos>
Hi all :)
Richard B. Johnson dixit:
> > /* ****************************** */
> > if (select(getdtablesize(), &socklist, NULL, NULL, NULL) < 0)
> > {
> > if (errno != EINTR) perror("WeapTerrain");
> > continue;
> > }
> select() takes a file-descriptor as its first argument, not the
> return-value of some function that returns the number of file-
> descriptors. You cannot assume that this number is the same
> as the currently open socket. Just use the socket-value. That's
> the file-descriptor.
Not at all. 'select()' takes a *number of file descriptors* as
its first argument, meaning the maximum number of file descriptors to
check (it checks only the first N file descriptors, being 'N' the
first argument). Usually that first argument is FD_SETSIZE, but the
result of any function returning a number is right if you know that
the return value is what you want.
If, for example, FD_SETSIZE is set to UINT_MAX but
getdtablesize() returns 100 ('ulimit' came to mind), it's a good idea
to use the return value of that function. Anyway, IMHO is better to
use FD_SETSIZE.
See the glibc info for more references.
Bye and happy coding :)
Raúl Núñez de Arenas Coronado
--
Linux Registered User 88736
http://www.pleyades.net & http://www.pleyades.net/~raulnac
next prev parent reply other threads:[~2003-03-18 10:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-17 15:28 select() stress Sparks, Jamie
2003-03-17 15:43 ` Matti Aarnio
2003-03-17 16:15 ` Richard B. Johnson
2003-03-17 18:00 ` Miquel van Smoorenburg
2003-03-17 18:24 ` Olaf Titz
2003-03-18 10:28 ` DervishD [this message]
2003-03-18 13:06 ` Richard B. Johnson
2003-03-18 14:42 ` DervishD
2003-03-18 14:46 ` DervishD
-- strict thread matches above, loose matches on Subject: below --
2003-03-18 14:49 Sparks, Jamie
2003-03-18 15:05 ` Richard B. Johnson
2003-03-18 15:05 ` Sparks, Jamie
2003-03-19 4:18 ` Chris Friesen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030318102837.GH42@DervishD \
--to=raul@pleyades.net \
--cc=JAMIE.SPARKS@cubic.com \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.