[Python-Dev] Eliminating f_tstate (original) (raw)

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 ftstate 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 ftstate member is removed > from the frame object. > > For Python 2.5, for compatibility, it probably has to remain > where it is, and only PyTraceBackHere 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