PyThreadState_DeleteCurrent()

Geoff Gerrietts geoff at gerrietts.net
Tue Mar 26 23:26:14 EST 2002


I'm sure this should be obvious to anyone who understood the evolution
of the problem PyThreadState_DeleteCurrent() was designed to call, but
it unfortunately is not to me.

I've been following the "invalid tstate" problem through history,
trying to backport fixes into a 1.5.3 interpreter. The majority of the
glitches that resulted went away with the fixes from 1.6.

Now I've finally gotten some time and permission to move forward on
porting us to a newer interpreter. Some of the extensions we use,
though -- notably the ILU module -- is written to the older API.

Now, we don't seem to be having invalid tstate problems any more, but
I noticed, when I was tracking down the invalid tstate bug, that 2.1.2
included some additional fixes for tstate problems. The solution was
to add new API -- PyThreadState_DeleteCurrent() split from
PyThreadState_Delete().

But ... what's the difference? When is PyThreadState_DeleteCurrent()
the appropriate call, and when PyThreadState_Delete()? I've looked,
and the docs haven't been updated to reflect this API change.

Thanks,
--G.

-- 
Geoff Gerrietts             "Whenever people agree with me I always 
<geoff at gerrietts net>     feel I must be wrong." --Oscar Wilde




More information about the Python-list mailing list