Dirk-Willem van Gulik
Wed, 07 May 2008 12:09:31 -0700
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 -vvhttp://localhost:8080/manual/images/feather.gif?x --- note the ?x at theend -- 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