Move cc_oid_unreferenced() into the C API and out of Python.
The rationale is that this is an internal detail of the cache implementation called by Per_dealloc(). It's nice to make it fast, and it's good to prevent it from being called with anything other than an about-to-be-freed object. As a result of it being in the C API, omit tests of refcounts. We would have been in Per_dealloc() otherwise. Initialize the percachdel slot of cPersistenceAPIstruct to NULL in cPersistence. In cPickleCache, import the CObject and fill in the struct. Also, reformat many of the comments so that all the text starts to the right of the /*. Fiddle the text of the placeholder comment. I think I understand it now :-). Add an XXX comment about the "old" cache API e.g. fullsweep and reallyfullsweep. Fix cc_get(). object_from_oid() doesn't ever set an exception. Remove a Py_FatalError() check from the end of a module init function. We don't do that anymore.
Showing
Please register or sign in to comment