Server version: Apache/1.3.41 (Unix) (Red-Hat/Linux)

the cgi has following source
#!/bin/sh
tar xzf /save/etc.tgz
/bin/rm -f etc/device
.......

the tar command may create following message(stderr)
tar: etc/version: time stamp 2009-05-28 14:39:00 is 252030566 s in the future
tar: etc/aaa: time stamp 2009-05-28 14:39:00 is 252030566 s in the future
........

in the apache configure file,when setting
ErrorLog syslog
In this state,when tar command generates a large number of message ,
the cgi will be hung in the command "tar xzf /save/etc.tgz".

In Linux versions before 2.6.11, the capacity of a pipe was 4096 bytes.
In linux 2.4.20 when the tar messages total length over 4096bytes,hanging the script's execution(tar command).

Since Linux 2.6.11, the pipe capacity is 65536 bytes.
In linux 2.6.18 when the messages total length over 65536bytes,hanging the script's execution(tar command).

But if the apache configure file is modified as follows,
Errorlog /dev/null
the cgi will not be hung.

why the cgi is hung when apache setting "ErrorLog syslog"?
when setting ErrorLog /dev/null,it will not be hung,why?

Is apache's bug ?