On Jun 17 21:05, Mike Mueller wrote: > On Mon, Jun 16, 2008 at 11:41:52PM -0400, Mike Mueller wrote: > > I have a program (native win32) that is capable of launching > > sub-processes, using apr (apache portable runtime), which is essentially > > a wrapper around CreateProcess in the Windows API. My program creates a > > modified environment (changes the PATH env var), and passes this new > > environment to CreateProcess. > > > > When I run a native Windows program, for example, a .bat script that > > says "echo %PATH%", I see the correctly modified PATH env var. > > > > When I run a Cygwin program, the PATH is the original unmodified path > > (rephrased in cygwin format), maybe inherited from the parent process? > > The modified PATH being passed to CreateProcess is not discovered by the > > Cygwin app. > > No thoughts on this? How & when does Cygwin take a snapshot of the > Windows environment? I'm still trying to figure out how my modified > environment is not being picked up...
Cygwin processes get their environment from the parent process, just like any other process. In case of having a Cygwin parent, it uses another mechanism for environment inheritance, but if the parent is a native process, it gets it env from a call to GetEnvironmentStrings. There's no other way, really. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/