larryhastings / gilectomy

Gilectomy branch of CPython. Use "gilectomy" branch in git. Read the important, short README below!
Other
527 stars 43 forks source link

WIP: Initialize locks in __new__(). #22

Open ericsnowcurrently opened 8 years ago

ericsnowcurrently commented 8 years ago

(see issue #20)

Locks need to be initialized before objects become available for mutation in Python. That means doing so in new(). A number of types current have tp_new set to PyType_GenericNew. Others have their own tp_new implementation. In both cases the respective locks must be initialized in whatever is set in tp_new.

Note on WIP: This PR will grow as more and more types are fixed.

larryhastings commented 8 years ago

I apologize for introducing conflicts into your merge request. But the whole platform abstraction was icky cubed.