On Thu, Nov 19, 2009 at 08:10:44AM +0900, furaisanjin wrote:
Hi.
I see the problem on FreeBSD (6.4) as well. But if I modify dillo like this,
diff -r 0a016f48a68b src/capi.c --- a/src/capi.c Sun Nov 15 13:00:56 2009 +0100 +++ b/src/capi.c Thu Nov 19 08:04:20 2009 +0900 @@ -519,7 +519,7 @@ _MSG("a_Capi_stop_client: force=%d\n", force);
Client = a_Cache_client_get_if_unique(Key); - if (Client && (force || Client->BufSize == 0)) { + if (Client && force) { /* remove empty entries too */ a_Capi_conn_abort_by_url(Client->Url); }
I don't see the problem. Because the original Dillo didn't work well with my local HTTP proxy, I modified like above. I didn't dig out deeper but it seems that Dillo didn't close socket connection properly so that HTTP proxy thought the connection was still opened.
Excellent! This explains the race condition to me. @all: please test the patch in the repo and report. The problem with HTTP proxy *may* be a different thing, but it also may be fixed now. Please check and report. -- Cheers Jorge.-