Documentation
It seems that the description for PyThreadState_Delete
and PyThreadState_DeleteCurrent
have a disagreement.
Under the _Delete
method is the description: ...The global interpreter lock need not be held.
Under the _DeleteCurrent
method is the description: Like PyThreadState_Delete, the global interpreter lock must be held
These two give different accounts of what the requirement is for the GIL.