On Fri, Feb 15, 2013 at 10:24 PM, Eric Blake <address@hidden>
On 02/15/2013 08:10 AM, Michael Goffioul wrote:How are you spawning your child processes? Is it simple enough to wrap
> The problem is that the "environ" variable is just a mirror of the
> environment that is manipulated through GetEnvironmentVariable and
> SetEnvironmentVariable. Manipulating the "environ" variable directly has no
> effect at the OS level and will only affect the current process (only calls
> to _putenv will actually propagate the changes through Win32 API). Child
> processes will not see the modified environment. Moreover even in the
> current process, I believe the values returned by GetEnvironmentVariable
> and "environ" (or getenv) will not be in sync.
all calls that create child processes so that those call sites iterate
through environ and shove it back into the OS level environment, so that
the child inherits the right thing, while not worrying about the OS
level environment for the rest of the process?
As far as I know, it uses 'system' call. But what you suggest would not resolve the incompatibility with Win32 API. It would be fine if all code that is linked with octave was also using gnulib, but that is not guaranteed.