"Gregory P. Smith" email@example.com writes:
Under "Limitations and Exclusions" it specifically disowns responsibility for worrying about whether Py_Initialize() and PyEval_InitThreads() have been called:
This suggests that I should call PyEval_InitThreads() in initreadline(), which seems daft.
fwiw, Modules/_bsddb.c does exactly that.
Interesting. The problem with readline.c doing this is that it gets implicitly imported by the interpreter -- although only for interactive sessions. Maybe that's not that big a deal. I'd still prefer to change the functions (would updating the PEP be in order here? Obviously, I'd update the api documentation).