[Prev][Next][Index][Thread]

Re: event loop on Linux (was Re: Direct WAIS access support in libwww)



On Mon, 16 Jun 1997, Rick Kwan wrote:

> qinglong@yggdrasil.com writes...
>  
> >    I've failed to utilize direct WAIS access support in libwww-5.0a
> >  (libwww-5.1* just don't work for me on Linux --- they fail in deadloop).
> 
> I don't know if this is the same thing or not...  In libwww-5.0a on
> Linux, HTEventrg_loop() used to die on me.  I traced this back to the
> select() timeout value on Linux being updated to the unused time.  Once
> I got passed that it worked.

This should be handled as the following code enforces that the timeout 
pointer is either NULL or points to an updated waittime structure.

-eric
------------------------------HTEvtLst.c-------------------------------
    do {
        wt = NULL;
	...
        if (timeout != 0) {
            waittime.tv_sec = timeout / MILLI_PER_SECOND;
            waittime.tv_usec = (timeout % MILLI_PER_SECOND) *
                (1000000 / MILLI_PER_SECOND);
            wt = &waittime;
        }
	...
        active_sockets = select(maxfds+1, &treadset, &twriteset, 
				&texceptset, wt);
	...
	} while (!HTEndLoop);


References: