Hi, I stumbled over the following paragraph in
https://bugs.pypy.org/issue1069 """ PyEval_SaveThread() always return NULL in pypy. But I don't know if there is a better value, since the GIL is always released in C code. """ Why should the GIL always be released? There are many C extensions that use it in one way or another to protect their internal state, to implement fast (optimistic) locking, or whatever. In order to be compatible with them, the GIL should be held unless explicitly released, just like CPython does it. Granted, in many cases, it wouldn't have to be the GIL, it could just be a separate "C code lock". But it's impossible to take this decision in general. Stefan _______________________________________________ pypy-dev mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-dev
