On Wed, Jul 22, 2009 at 03:33:16PM +0200, Hannes Eder wrote:
> This patch solves two problems:
> 
>   - When external checks timeout frequently ldirectord runs out of
>     file handles, because when alarm()-ing out of Perls system() an
>     internal pipe is not reclaimed.  This is at least true for Perl
>     5.8.8 on Linux, but likely to affect other versions of Perl and
>     systems as well.  The pipe is used to send errno(3) from the
>     child to the parent, in case internal exec(3) fails.
> 
>   - Do not leave child behind on timeout, TERMinate it.
> 
> How are they solved?
> 
>   - Emulate Perls system() via Perls fork(), exec(), and waitpid() and
>     by TERMinating the child on timeout.
> 
> Signed-off-by: Hannes Eder <[email protected]>


Hi Hannes,

Thanks, and sorry for the delay in getting back to yuo.

The change looks good to me - though its kind of
disturbing that Perl needs such workarounds.
I've applied the change to the dev tree on hg.linux-ha.org

_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to