[Python-Dev] Eliminating f_tstate

Brett Cannon brett at python.org
Mon Jan 22 19:01:04 CET 2007


On 1/22/07, Michael Hudson <mwh at python.net> wrote:
> "Martin v. Löwis" <martin at v.loewis.de> writes:
>
> > Bug #1579370 reports a crash when accessing the thread state of
> > a terminated thread, when releasing a generator object.
> >
> > In analysing the problem, I found that f_tstate doesn't have much
> > utility: it is used in very few places, and in these places, it
> > might be as good or better to use the *current* thread state
> > (rather than the frame's thread state); in some (most?) of these
> > places, the current thread should be identical to the frame's
> > thread, anyway.
> >
> > So I would like to propose that the f_tstate member is removed
> > from the frame object.
> >
> > For Python 2.5, for compatibility, it probably has to remain
> > where it is, and only PyTraceBack_Here should stop using it.
> > As a consequence, a generator .send() makes exceptions
> > occur in the current thread, not in the thread where the
> > generator was created.
> >
> > What do you think?
>
> Without having read the code in detail, I think what you say makes a
> great deal of sense.
>

Ditto from me.

-Brett


More information about the Python-Dev mailing list