Perhaps we can drop the sarcasm.  Surely they are enough warts on all of us
To spend the rest of the day pointing them out.

Maxfd is used in select() to tell the operating system the highest numbered
Fd that interests you in __this__ particular call to select().  That may vary
>From call to call.  This way the OS does not waste time providing information
On sockets (fd's) that are not of interest to you.

At the same time, each time an new socket is created (less frequently activity
Than calling select() on sockets) you may to maintain the value of maxfd.
Alternatively, you can update maxfd before the system call.

Please read the select() man page for you system.

Regarding the hardcoding of magic values (numbers) into the source, this is
A poor practice that started with the beginning of programming.  Each programmer
Must learn not to do this.  Doesn’t really seem to be a matter of the language 
or 
System that one uses.

Jonathan

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Anderson
Sent: Monday, April 04, 2005 4:09 PM
To: '[email protected]'
Subject: [jdev] Why are we doing math on socket handles?


in mio_connect:

fd = socket(sa.ss_family,SOCK_STREAM,0)

and in mio_fd

if(fd >= m->maxfd)
{
   mio_debug(ZONE,"fd to high");
   return -1;
}

I know I'm a stupid windows programmer, but who cares what value the socket
handle is? There's a malloced array that uses the socket handle as an index,
obviously. This just seems inherently silly. There's also a problem in that
SOME of these maximum numbers are configurable:

r->mio = mio_new(r->io_max_fds);
c2s->mio = mio_new(c2s->io_max_fds);

and some are hard coded:

r->mio = mio_new(1023);
s2s->mio = mio_new(1024);
sm->mio = mio_new(1024);

So 1) Why are we doing math on socket handles? 2) I'm assuming adding this
into the configuration files is the right way to work around this problem. I
always thought hard coding numbers in code was bad. I guess that's just a
silly habit picked up by coding in windows instead of unix all these years.

Tim
[EMAIL PROTECTED]
_______________________________________________
jdev mailing list
[email protected]
http://mail.jabber.org/mailman/listinfo/jdev

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.859 / Virus Database: 585 - Release Date: 2/14/2005
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.859 / Virus Database: 585 - Release Date: 2/14/2005
 
_______________________________________________
jdev mailing list
[email protected]
http://mail.jabber.org/mailman/listinfo/jdev

Reply via email to