Message32540
I'm wondering if this Abort is a red herring. It's caused by the following section in PyThreadState_Swap in Python/pystate.c:
#if defined(Py_DEBUG) && defined(WITH_THREAD)
if (newts) {
/* This can be called from PyEval_RestoreThread(). Similar
to it, we need to ensure errno doesn't change.
*/
int err = errno;
PyThreadState *check = PyGILState_GetThisThreadState();
if (check && check->interp == newts->interp && check != newts)
Py_FatalError("Invalid thread state for this thread");
errno = err;
}
#endif
Specifically this test is true:
check->interp == newts->interp
I'm not convinced if this is right, and a friend who's a bit more clued up than me isn't sure either.
Could someone look at it to check? |
|
Date |
User |
Action |
Args |
2007-08-23 14:58:48 | admin | link | issue1758146 messages |
2007-08-23 14:58:48 | admin | create | |
|