I think we really *are* talking about the caller -- the caller owns the dict, if it managed to delete something from the dict before the callee can incref it, you'd have trouble. I don't immediately see how this could happen, which is probably why I left it as an XXX comment...
--Guido On Feb 5, 2008 6:58 AM, Kristján Valur Jónsson <[EMAIL PROTECTED]> wrote: > > > > > Hello there. > > > > in function_call() in funcobject.c, we have this comment: > > > > /* XXX This is broken if the caller deletes dict items! */ > > > > Now, I wonder what specifically is meant here? are we really talking about > the ‚callee' here? > > In PyEval_EvalCodeEx() it looks as though all keywords are always INCREFed, > so the callee never gets a borrowed reference to something from the keyword > dict. > > > > Maybe this comment is out of date, or can someone demonstrate how to break > the code accordingly? > > > > The reason I ask is that I am debugging a really tricky crash case on our > live servers and I am currently led to believe that the temporary array for > the keyword dict is being overwritten somehow. > > > > Cheers, > > > > Kristján, > > CCP games. > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/guido%40python.org > > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com