apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk-Willem van Gulik <di...@webweaving.org>
Subject Re: sendfile in darwin
Date Wed, 07 May 2008 19:08:56 GMT

On May 7, 2008, at 8:58 PM, Mads Toftum wrote:

> On Wed, May 07, 2008 at 02:50:46PM -0400, Jim Jagielski wrote:
>> To clarify: I have no idea what you are referring to
>> as far as what issue you were discussing. This is
>> because it was on IRC. For myself and everyone else who
>> did not happen to be on IRC at that moment of time, we
>> have no idea what this is all about.
>>
> 18:26 < dirkx> Quick thought anyone.... with a"curl --silent -o
> /dev/null -vv http://localhost:8080/manual/images/feather.gif" on a
> basic apache (default install, yadayada) on macosx -- response is
> immediate.
>
> 18:27 < dirkx> But with curl --silent -o /dev/null -vv
> http://localhost:8080/manual/images/feather.gif?x --- note the ?x at  
> the
> end -- delay of 2-3 seconds before the reply is streamed on the wire.
>
> 18:54 < dirkx> Ah - if I use the '-X' flag -- it is virtually always
> there.
>
> 19:01 < dirkx> Hmm - a 'Connection: close' in the request header sorts
> it out sure.
> 19:01 < dirkx> Kind of interesting -- dtrace() shows you:
> 19:01 < dirkx>
> open("/Users/dirkx/tmp/apache-httpd-26044/manual/images/feather.gif 
> \0",
> 0x0, 0x0)II = 10 0
> 19:02 < dirkx> etsockopt(0x9, 0x6, 0x1)II = 0 0
> 19:02 < dirkx> setsockopt(0x9, 0x6, 0x4)II = 0 0
> 19:02 < dirkx> writev(0x9, 0xBFFFEE74, 0x1)II = 245 0
> 19:02 < dirkx> sendfile(0xA, 0x9, 0x0)II = 0 0
> 19:02 < dirkx> ... write to log file ...
> 19:02 < dirkx> close(0xA)II = 0 0
> 19:02 < dirkx> read(0x9, " ---> returns -1
> 19:02 < dirkx> ... then waits....
> 19:02 < dirkx> waits...
> 19:03 < dirkx> And then the actual reply goes out by TCP simultaneous
> with:
> 19:03 < dirkx> poll(0xBFFFF228, 0x1, 0x1388)II = 1 0
> 19:03 < dirkx> read(0x9, "\0", 0x1F40)II = 0 0
> 19:03 < dirkx> shutdown(0x9, 0x1, 0x173460)II = 0 0
> 19:03 < dirkx> poll(0xBFFFF558, 0x1, 0x7D0)II = 1 0
> 19:03 < dirkx> read(0x9, "\0", 0x200)II = 0 0
> 19:03 < dirkx> close(0x9)II = 0 0
> 19:03 < dirkx> read(0x5, "\0", 0x1)II = -1 Err#35
> 19:03 < dirkx> As if the 'sendfile' 'hangs' until that happens.
>
> I think that's all of it.

More recent from thereon

-	Folloow up on Quasi -- try EnableSendFile on/off

-	Makes it perfectly reproducable

-	Try patch r654185 - which does not quite fix it.

and that is about it.

Dw

Mime
View raw message