➜

This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

作者 sbt
收信人 alexandre.vassalotti, belopolsky, benjamin.peterson, bpb, brett.cannon, ehuss, facundobatista, fmitha, georg.brandl, gvanrossum, jafo, jaraco, jarpa, kylev, loewis, lukasz.langa, nnorwitz, pitrou, sbt, taleinat, tseaver, vstinner, zbysz, zseil
日期 2012-07-27.19:00:40
SpamBayes Score -1.0
Marked as misclassified 是
Message-id <1343415641.48.0.990413575644.issue1692335@psf.upfronthosting.co.za>
In-reply-to
内容
> Or you could simply Py_INCREF(args) before the Py_XDECREF...

But won't self->args point to a broken object while any callbacks triggered by Py_XDECREF() are run?

An alternative would be

    tmp = self->args;
    self->args = args;
    Py_INCREF(self->args);
    Py_XDECREF(tmp);

As far as I can see the idiom Py_?DECREF(self->...) is rarely safe outside of a deallocator unless you are sure the pointed to object has a "safe" type (or you are sure the refcount cannot fall to zero).
历史
日期 用户 动作 参数
2012-07-27 19:00:41sbt修改recipients: + sbt, gvanrossum, loewis, nnorwitz, brett.cannon, georg.brandl, facundobatista, jafo, ehuss, tseaver, jaraco, belopolsky, zseil, fmitha, pitrou, vstinner, taleinat, alexandre.vassalotti, benjamin.peterson, jarpa, bpb, zbysz, kylev, lukasz.langa
2012-07-27 19:00:41sbt修改messageid: <1343415641.48.0.990413575644.issue1692335@psf.upfronthosting.co.za>
2012-07-27 19:00:40sbt链接issue1692335 messages
2012-07-27 19:00:40sbt创建