The following reply was made to PR mod_log-any/1419; it has been noted by GNATS.

From: Dean Gaudet <[EMAIL PROTECTED]>
To: Mike Rudolph <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: Re: mod_log-any/1419: Logging to a pipe
Date: Fri, 14 Nov 1997 16:42:01 -0800 (PST)

 You probably have "| foo" and you're seeing both the /bin/sh which is
 running that command, and the command itself.  Look at the parentage to
 find out... ps ajxww or ps alxww or something like that.  It's unlikely
 that two processes are actually running.  You can do "| exec foo" if it
 bugs you.
 
 1.3b2 piping is slightly borken, every time a httpd child exits it will
 spawn another pipe child.  Define -DNO_OTHER_CHILD or wait until 1.3b3. 
 
 If you read the 1.3 perf-tuning document at
 www.apache.org/docs/misc/perf-tuning.html you'll discover the
 BUFFERED_LOGS define. 
 
 It's impossible to increase the size of a pipe() in a portable manner. 
 They're almost always 4k deep.  Buffering behaviour across a pipe (the
 buffer in the kernel) also differs greatly across unixes.  For example,
 under linux, if the writer is fast enough they can fill a 4k pipe 1 byte
 at a time before the reader is awakened to read the pipe.  This is likely
 different elsewhere. 
 
 If you need to tweak the kernel buffer for the pipe then you'll need to
 replace the code with a socketpair() call and use setsockopt() and see if
 it helps... but that's not something we'll be putting into the server any
 time soon because it opens a portability can o' worms.
 
 Dean
 

Reply via email to