Vernon Schryver
vjs@calcite.rhyolite.com
Mon, 20 Feb 2006 00:16:41 -0700 (MST)
> From: "Paul R. Ganci" > >+ delay.tv_sec = flods_ck_secs; > >+ delay.tv_usec = 0; > > > Yes, adding these two lines fixes the problem. Thanks, but what does it > all mean? It looks like an unitialized data error. The structure is on the stack. My guess is that without the 1.3.29 changes to open_srvr_socs(), it happens to be a valid struct timeval value, but with the changes and on your system with your system's host name, compiler, libraries, network interfaces, etc. it contains what looks to the select() system call like a negative number of seconds or microseconds. As long as select() accepts the value, it does no harm. The select() call will either awaken early or at the first incoming UDP packet. In either case, the value is then set and things are fine the second and subsequent times around the loop. Vernon Schryver vjs@rhyolite.com