On Fri, Feb 15, 2013 at 11:24 PM, Eric Blake <ebl...@redhat.com> wrote: > On 02/15/2013 08:10 AM, Michael Goffioul wrote: >> 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. > > How are you spawning your child processes? Is it simple enough to wrap > 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?
Yes ntcreateprocess is hotpatchable (something like ldpreload) see for example blog post http://ge0-it.blogspot.fr/2011/07/hot-patching-function-little-example.html Bastien > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >