Geoffrey Young wrote on 5/3/04, 8:02 PM:
> > If I do the void subprocess_env trick: > > > > $r->subprocess() > > > > before retrieving $something, then it's populated along with the > rest of > > the environment. > > that only affects %ENV, not the ability of $r->subprocess_env to grab > something from the subprocess_env table. %ENV is not automatically > populated with the contents of subprocess_env, so if you're really > talking > about %ENV then your Example 2 + subprocess_env() trick sounds right. Nope, I'm talking about the table itself (via subprocess_env), which is why I am confused. > > > > > However, as mentioned in many of the docs/books, this is expensive > and I > > really only need the one variable. > > > > I've also tried walking the subprocess_env table in the perl handler, > > but the value set in the C handler is not there. > > that's really strange. are you sure that you are not removing it in your > application someplace? try tweaking the test tarball I mentioned bit > by bit > until it has the relevant logic from your code in it. I can't tell > you the > number of bugs I've "fixed" by trying to reproduce the bug, only to > find I > was the bug :) Understood. :-) Thanks for the code, I'll keep working on it trying to narrow down the problem. At least I know that the behavior I'm seeing is definitely wrong and it should work without the void subprocess_env call. > > > > > Are the C API subprocess_env table and the mod_perl API subprocess_env > > table distict until something (like the void call) merges the > tables? Is > > this some sort of scoping issue between C and Perl? > > it shouldn't be, so long as you're hitting the tables directly with > $r->subprocess_env. %ENV is another matter entirely. Thanks, --John -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html