httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: More on child-process just running (chewing CPU)
Date Tue, 02 Apr 1996 01:48:07 GMT
Robert S. Thau wrote:
> 
>   >From what I can see, the request is processed, it's "written" (outputed)
>   to the client (correctly) and it's even logged (!!)... it's just, for
>   some reason, the socket isn't being closed or something... 
> 
> What this means is that it's looping trying to flush its buffers before
> closing the socket to the client and moving on, but after having logged
> the transaction (and very possibly after a timeout).

I'm looking at the code, and I noticed that timeout() calls bclose()
which itself calls bflush()... I'm wondering if what I'm seeing is
some sort of loop where the write() in bflush() is signalling timeout
which calls bclose which...
> 
> Have you managed to get a stack backtrace of a spinning process?  (If
> gdb on your system won't do "attach", you may still be able to send a
> spinning process a "kill -SIGBUS", and give it a core dump to work
> with).

Not yet... I'm starting that now. On one machine I'll add the signal(SIGPIPE,
SIG_IGN) call to timeout() as well as the just-posted patch in http_protocol.c
and on another I'll keep the current code base.

-- 
Jim Jagielski  << jim@jaguNET.com >>   |      "That's a Smith & Wesson,
  **  jaguNET Access Services  **      |       and you've had your six" 
      Email: info@jaguNET.com          |             - James Bond
++    http://www.jaguNET.com/         +++      Voice/Fax: 410-931-3157       ++

Mime
View raw message