ANN: Stackless Python 0.2

G. David Kuhlman dkuhlman at
Mon Jun 28 20:46:53 CEST 1999

Tim Peters (tim_one at wrote:

> That's mostly true today too:  Python threads run serially now, one at a
> time, and if a thread calling out to C doesn't release the global lock no
> other thread will run until it returns.

I'll bite. How *does* a thread that calls out to C release the global

Would it have to do this thingy that is at the beginning of the
interpreter loop in python/ceval.c?

    if (PyThreadState_Swap(NULL) != tstate)
        Py_FatalError("ceval: tstate mix-up");

Would this work? or would it screw up the interpreter?

Is there a way to do this in a Python script *before* it calls out
to C.

Is there an approved solution to this problem?

  - (mystified) Dave

More information about the Python-list mailing list