1.3.26/1.3.28/1.3.29

Paul R. Ganci ganci@nurdog.com
Mon Feb 20 01:57:32 UTC 2006


Vernon Schryver wrote:

>I bet that if you make this change to the 1.3.29 version of dccd.c
>the EINVAL complaint from select() will go away:
>
>*** 1197,1203 ****
>                prfds = 0;
>                FD_ZERO(&wfds);
>                pwfds = 0;
>!               max_fd = 0;
>                if (was_too_busy) {
>                        if (delay.tv_sec != 0
>                            || delay.tv_usec > DCC_USECS/4) {
>--- 1197,1203 ----
>                prfds = 0;
>                FD_ZERO(&wfds);
>                pwfds = 0;
>!               max_fd = -1;
>                if (was_too_busy) {
>                        if (delay.tv_sec != 0
>                            || delay.tv_usec > DCC_USECS/4) {
>  
>
This patch did not change the outcome at all. I still get the "give up 
after select(): Invalid argument" error after implementing it.

>I suspect the real problem is something about how dccd is started and
>that somehow there are no open sockets for the select() loop to watch.
>It would take only seconds with gdb to (in)validate that guess.  If
>initializing max_fd properly makes the select() complaint go away, then
>that guess is probably valid.
>  
>
I'll try to fire up gdb another day. For now I am just going to go with 
my patch since that seems to work.

>    Does your system have IPv6 support? 
>    If so, does it have an IPv6 address?
>  
>
I did turn off IPv6 support and that didn't matter either.

-- 
Paul (ganci@nurdog.com)




More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.