bpo-32604: Swap threads only if the interpreter is different. by ericsnowcurrently · Pull Request #5778 · python/cpython
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request
…gh-5778) The CPython runtime assumes that there is a one-to-one relationship (for a given interpreter) between PyThreadState and OS threads. Sending and receiving on a channel in the same interpreter was causing crashes because of this (specifically due to a check in PyThreadState_Swap()). The solution is to not switch threads if the interpreter is the same. (cherry picked from commit f53d9f2) Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>