On Fri, 2007-05-11 at 12:20 +0300, Lucian Adrian Grijincu wrote:
> because this breaks compatibility with former versions of APR (someone
> may actually be counting on buffer being flushed before exec) I'd
> suggest adding
> APR_DECLARE(void) apr_pool_cleanup_for_exec_ex(apr_int_32 flags)
> 
> Which will have a flag to enable one of these behaviours.
> +    cleanup_for_exec = flags & APR_CLEANUP_FOR_EXEC_FLUSHES_BUFFERS;
>      cleanup_pool_for_exec(global_pool);
> +    cleanup_for_exec = 0;

I think the current behaviour is a bug and we should change it. From my
POV, it doesn't make sense to expect that a piece of data that's written
to a file would end up in it twice in buffered mode and only once in
non-buffered mode

> nitpicking:
> 
> maybe add an APR_INLINE here:
> +APR_DECLARE(int) APR_INLINE apr_cleanup_is_for_exec()
> +{
> +    return cleanup_for_exec;
> +}
> 
> 
> and a closed parens to the comment.
> @@ -2112,7 +2119,9 @@
>       * I can do about that (except if the child decides
>       * to go out and close them )
>       */

Thanks, shall fix.

-- 
Bojan

Reply via email to