[Python-Dev] Const access to CPython objects outside of GIL?

Antoine Pitrou solipsis at pitrou.net
Tue Jul 17 04:27:27 EDT 2018


On Tue, 17 Jul 2018 00:15:04 -0500
Tim Peters <tim.peters at gmail.com> wrote:
> > More generally, what is the CPython 2.7/3.5 contract regarding (lack of)
> > object mutation, and the need for reference counting and synchronization
> > via GIL?
> 
> There is no intention to support GIL-free access to any Python objects.  So
> that's the contract:  "All warranties are null & void if you do just about
> anything while not holding the GIL".

Actually, accessing a Py_buffer that's been obtained in the regular way
(e.g. with PyObject_GetBuffer) is safe even without the GIL.

Regards

Antoine.




More information about the Python-Dev mailing list