On Thu, Nov 6, 2008 at 09:00, Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> wrote:
> If it helps any, I've tracked down in the perl guts exactly why this
> Notice, though, that without ithreads, the COP points directly to the
> stash, but with ithreads, it points instead to the _name_ of the stash
> (e.g. "main"). The problem arises because with Safe in use, the
> package created by Safe to use as a container _thinks_ that its name
> is "main" even though it's not, so the COPs compiled inside it point
> to the name "main" rather than to the real name of the container.
Ok so I kind of analyzed it right, just missed the threading issue.
(namely that its referencing a different main when we execute it
outside of "Safe")
FYI the commit that changd it is
It been this way since 1999 with the descriptive commit message 'avoid
stash pointers in optree under USE_ITHREADS'
In response to
pgsql-bugs by date
|Next:||From: Michal szymanski||Date: 2008-11-06 16:38:12|
|Subject: BUG #4516: FOUND variable does not work after RETURN QUERY|
|Previous:||From: Alex Hunsaker||Date: 2008-11-06 16:14:29|
|Subject: Re: plperl & sort|