Mike P. Mikhailov wrote:

> Hello modperl,


HELO Mike


>   I'm run into weird problem: apache output (HTTP headers and entity)
>   appears in the my own separate log file.
> 
>   Here is scenario:
>   I'm fork a new process, cleanup for exec, redirect STD(IN|ERR|OUT)
>   in the /dev/null,/tmp/err,/tmp/out correspondingly, chdir '/' and
>   start long running job. In the first call to the my logger print
>   subroutine it open own log file and writing messages into it. It's
>   all work fine, but when size of the log file near 4KB I see a HTTP
>   header and chunk with log file content. It looks like a HTTP
>   response but why in my log file ? Logger print method echoed message
>   in the log file and in the STDOUT also. I'm mentioned before that I
>   redirect STDOUT in the /tmp/out. But /tmp/out is zero size. (BTW:
>   when warn messages STDERR (/tmp/err) always contain that I'm send
>   into it). I stop echo messages in the STDOUT and my log file
>   contains what I want. But I'm think this is because I'm not
>   STDOUT'ed anythig and apache output buffer do not grow enought to
>   send to the client. It's ok but why in my log file ? Any thoughts
>   why it is happen or start investigate why from ?

It seems to me that you've overriden the STDOUT of the parent process 
and that's why you see this behavior. Try not to touch the STD* handles 
at all, is everything going as usual? If so, check that you override 
STD* in the child process.

_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/

Reply via email to