Strange behavior with custom module and http proxy

Brian Bruns brian at bruns.com
Mon Dec 21 23:30:01 MSK 2009


That is the confusing part to me.  SIGCHLD is called on the death of
the parent but not the death of the grandchild (correctly) and the
signal handler with waitpid() is called immediately, not after the 60
second delay.

The module is destined to be released but I'm not quite ready for it
just yet.  I will roll up a minimal module that replicates the
behavior and post that.

Thank you for the help.

Brian

2009/12/21 Piotr Sikora <piotr.sikora at frickle.com>:
>> It's almost as if nginx
>> is doing a wait() for the child before closing the request, although I
>> know the child has been reaped earlier and the grandchild is now a
>> child of init.
>
> It is indeed calling waitpid() after receiving SIGCHLD, but this shouldn't
> be a problem. Could you check if this happens also with single-fork()
> (without spawning grandchild)?
>
>> Like I said, I only noticed the behavior when using http proxy
>> caching, so the problem has existed for me all along without my being
>> aware of it.
>
> If you don't want to share your module, could you make module with minimal
> functionality which reproduces this behavior?
>
> Best regards,
> Piotr Sikora < piotr.sikora at frickle.com >
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>



More information about the nginx mailing list