- From: Shigeyuki Fukushima <shige@sitc.toshiba.co.jp>
 - Date: Fri, 15 Feb 2002 10:32:21 +0900
 - To: www-lib@w3.org
 - Cc: shige@sitc.toshiba.co.jp
 
Hello.
Now I'm using w3c-libwww-5.3.2 on x86/Windows platform.
I have found a fatal bug(?) in HTEventList_loop function.
When compiling Library/src/HTEvtLst.c with WWW_WIN_ASYNC definition.
`HTHost_setEventTimeout(60000);' operation has no effect for
main event loop.
When a program sent a http request for an unreachable URL, 
it cannot escape main event loop parmanently, even if
HTHost_setEventTimeout() is called before in loop.
Then, I tried to modify HTEvtLst.c as follows (add):
PUBLIC int HTEventList_loop (HTRequest * theRequest)
{
#ifdef WWW_WIN_ASYNC
    MSG msg;
    int status;
    ms_t timeout;
    while (!HTEndLoop && GetMessage(&msg,0,0,0)) {
            /* add FROM */
            if ((status = HTTimer_next(&timeout)))
                break;
            /* add TO */
            TranslateMessage(&msg);
            DispatchMessage(&msg);
    }
    status = HTEndLoop;
    
    /* Reset HTEndLoop in case we want to start again */
    HTEndLoop = 0;
    
    return (status == 1 ? HT_OK : HT_ERROR);
#else /* WWW_WIN_ASYNC */
     :
}
Is this modification correct?
Or, do you have a nice idea for this problem?
Thanks.
--- shige
Shigeyuki Fukushima 
   shige@sitc.toshiba.co.jp
   shige@FreeBSD.org
Received on Thursday, 14 February 2002 20:32:28 UTC