[JDEV] Minor 'bug'let ?
Dirk-Willem van Gulik
dirk.vangulik at jrc.it
Fri Jan 8 03:16:13 CST 1999
Jeremie wrote:
>
> On the FD_SETSIZE issue in io.c, I updated it to track the largest
> descriptor and use that value... attached is the diff I'm going to check
> in tonight, let me know if it's wrong or broken...
Looks ok at first glance.. but it does not seem to track the write_fds.
(Though
from code logic I would assume that you always do a read and sometimes a
right
so the max from the writes is <= the max from the reads.
Dw.
>
> ------------------------------------------------------------------------
> Index: io.c
> ===================================================================
> RCS file: /work/cvs/jap/common/io.c,v
> retrieving revision 1.9
> diff -u -r1.9 io.c
> --- io.c 1999/01/05 20:30:10 1.9
> +++ io.c 1999/01/08 03:25:58
> @@ -13,7 +13,7 @@
> void collect_packets(conn *(*handle_packet)())
> {
> char buffer[MAXMSG];
> - int new, nbytes, err, first = 1;
> + int new, nbytes, err, maxfd = 0, first = 1;
> fd_set active_fd_set, read_fd_set, write_fd_set;
> struct sockaddr_in sa;
> size_t size = sizeof(sa);
> @@ -37,7 +37,7 @@
> if(!first)
> {
> DBUG("IO: waiting ","")
> - h_err(select(FD_SETSIZE, &read_fd_set, &write_fd_set, NULL, NULL),"select");
> + h_err(select(maxfd + 1, &read_fd_set, &write_fd_set, NULL, NULL),"select");
>
> FD_ZERO(&active_fd_set);
> }else{
> @@ -63,6 +63,8 @@
> c = conn_add(c,new);
> c->name = strdup(inet_ntoa(sa.sin_addr));
> c->ver = strdup(c_count->name); /* express the parent socket that it was created from */
> + if(new > maxfd)
> + maxfd = new;
> FD_SET(new, &active_fd_set);
> }else{
> DBUG("IO: reading data from ",c_count->name)
> @@ -86,6 +88,8 @@
> }
> }
> }
> + if(c_count->id > maxfd)
> + maxfd = c_count->id;
> FD_SET(c_count->id, &active_fd_set);
> c_count = c_count->next;
> }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Dirk.VanGulik.vcf
Type: text/x-vcard
Size: 477 bytes
Desc: Card for Dirk-Willem van Gulik
URL: <https://www.jabber.org/jdev/attachments/19990108/805a12c5/attachment-0002.vcf>
More information about the JDev
mailing list