[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: findutils on interix

From: James Youngman
Subject: Re: findutils on interix
Date: Thu, 28 Oct 2010 00:12:40 +0100

On Wed, Oct 27, 2010 at 1:16 PM, Markus Duft <address@hidden> wrote:
> On 10/27/2010 08:42 AM, Markus Duft wrote:
>> On 10/23/2010 01:52 PM, James Youngman wrote:
>>> Thanks.   I adopted a very slightly different approach, see
>>> https://savannah.gnu.org/bugs/index.php?31424
>>> The updated code is already pushed.
>> The patch works as expected, thank you very much - this was really painless 
>> ;)
> owh - spoke too soon. there is no more problem with the too long argument 
> list,
> but unfortunately, i now get "xargs: environment is too large for exec" all 
> over
> the place (not always, but in situations with increased environment :))
> i looked a little into the code, and it seems that the environment block size 
> is
> compared to the argument max size (which now is rather small on interix)...
> why is this done?

>From the online version of the POSIX standard:
http://www.opengroup.org/onlinepubs/009695399/functions/exec.html :-

The number of bytes available for the new process' combined argument
and environment lists is {ARG_MAX}. It is implementation-defined
whether null terminators, pointers, and/or any alignment bytes are
included in this total.

> any ideas how to work around/fix this? in the meantime, i extended the already
> pushed patch for my local findutils to additionally re-define ARG_MAX to 
> 50000,
> and things return back to a working state :)

I don't think this is a useful way to fix the problem, since we're
just guessing at random numbers.  xargs needs to understand the actual
limits of the real implementation in order to reliably avoid exceeding
them, really.

> AFAIK, the maximum environment size
> on interix is 32K, if that's of any interest to you...

Does it express the size of this limit in a way that's relevant to the
POSIX programming interface?

> markus
>> markus
>>> James.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]