On 01/05/2006 11:27 PM, Graham Leggett wrote: > Ruediger Pluem wrote:
[..cut..] > Looking deeper into this, if the above was never true, then the loop > would spin resulting in 100% processor usage for this process/thread > while the download was running. > > Are you 100% sure this is never called? Meanwhile I found the reason for this behaviour. We are never doing non blocking reads: #0 socket_bucket_read (a=0x8196748, str=0x40ad052c, len=0x40ad0530, block=APR_BLOCK_READ) at buckets/apr_buckets_socket.c:22 #1 0x40052463 in apr_brigade_split_line (bbOut=0x819c3a8, bbIn=0x819c288, block=APR_BLOCK_READ, maxbytes=8192) at buckets/apr_brigade.c:292 #2 0x080721d7 in ap_core_input_filter (f=0x8194cb0, b=0x819c3a8, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=0) at core_filters.c:155 #3 0x0807c119 in ap_get_brigade (next=0x8194cb0, bb=0x819c3a8, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=583581946604225836) at util_filter.c:489 #4 0x404dbb47 in logio_in_filter (f=0x8194c88, bb=0x819c3a8, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=0) at mod_logio.c:115 #5 0x0807c119 in ap_get_brigade (next=0x8194c88, bb=0x819c3a8, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=583581774805533996) at util_filter.c:489 #6 0x0807f27c in ap_http_filter (f=0x819c330, b=0x8195058, mode=AP_MODE_READBYTES, block=APR_NONBLOCK_READ, readbytes=8192) at http_filters.c:292 #7 0x0807c119 in ap_get_brigade (next=0x819c330, bb=0x8195058, mode=AP_MODE_READBYTES, block=APR_NONBLOCK_READ, readbytes=583712238732117292) at util_filter.c:489 #8 0x405bae91 in ap_proxy_http_process_response (p=0x8193f38, r=0x8197f80, backend=0x818d908, origin=0x8194790, conf=0x818c9b0, server_portstr=0x40ad282c "") at mod_proxy_http.c:1463 #9 0x405bb9d2 in proxy_http_handler (r=0x8197f80, worker=0x818b808, conf=0x818c9b0, url=0x8194780 "/test/long.jsp", proxyname=0x0, proxyport=0) at mod_proxy_http.c:1732 #10 0x405a4063 in proxy_run_scheme_handler (r=0x8197f80, worker=0x818b808, conf=0x818c9b0, url=0x8199730 "http://127.0.0.1:8080/test/long.jsp", proxyhost=0x0, proxyport=0) at mod_proxy.c:1941 ap_http_filter changes the mode from APR_NONBLOCK_READ to APR_BLOCK_READ. So I think we must check if we can adjust ap_http_filter. I guess this is not an easy task. Maybe this changes once Brian makes further progress on its async-read branch. Regards RĂ¼diger