bpo-42262: Add Py_NewRef() function#23152
bpo-42262: Add Py_NewRef() function#23152vstinner merged 3 commits intopython:masterfrom vstinner:newref
Conversation
|
Ubuntu failed with a download error: E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace1_1.5.5-1_amd64.deb Could not connect to azure.archive.ubuntu.com:80 (52.252.75.106), connection timed out |
|
I closed/reopened the PR to re-run the Ubuntu job. |
methane
left a comment
There was a problem hiding this comment.
Would you improve the doc to describe the difference to Py_INCREF?
I rewrote the function documentation. Is the difference between Py_INCREF() and Py_NewRef() more explicit now? I also added Py_XNewRef() which accepts NULL. |
Added Py_NewRef() function to increment the reference count of an object and return the object.
Objects/object.c
Outdated
| } | ||
|
|
||
| #undef Py_NewRef | ||
| #undef Py_XNewRef |
There was a problem hiding this comment.
Perhaps redefine these 2 macros after defining the 2 functions, so this file can enjoy the static inline version as well?
There was a problem hiding this comment.
Good idea. I moved the definitions at the bottom of object.c, so object.c gets the fast static inlined flavor as well.
There was a problem hiding this comment.
I moved the definitions at the bottom of object.c,
Even better :)
LGTM. |
* origin/master: bpo-42179: Doc/tutorial: Remove mention of __cause__ (pythonGH-23162) bpo-26389: Allow passing an exception object in the traceback module (pythonGH-22610) bpo-42260: PyConfig_Read() only parses argv once (pythonGH-23168) bpo-42260: Add _PyConfig_FromDict() (pythonGH-23167) bpo-41877 Check for asert, aseert, assrt in mocks (pythonGH-23165) [docs] fix wrongly named AsyncContextDecorator (pythonGH-23164) bpo-42262: Add Py_NewRef() and Py_XNewRef() (pythonGH-23152) bpo-42266: Handle monkey-patching descriptors in LOAD_ATTR cache (pythonGH-23157) bpo-40816 Add AsyncContextDecorator class (pythonGH-20516)
…lots1 * origin/master: (80 commits) bpo-42282: Fold constants inside named expressions (pythonGH-23190) bpo-41028: Doc: Move switchers to docsbuild-scripts. (pythonGH-20969) bpo-42133: update parts of the stdlib to fall back to `__spec__.loader` when `__loader__` is missing (python#22929) Remove outdated reference to pywin32 from platform module (pythonGH-22005) bpo-41832: PyType_FromModuleAndSpec() now accepts NULL tp_doc (pythonGH-23123) Minor grammar edits for the descriptor howto guide (GH-python#23175) bpo-42179: Doc/tutorial: Remove mention of __cause__ (pythonGH-23162) bpo-26389: Allow passing an exception object in the traceback module (pythonGH-22610) bpo-42260: PyConfig_Read() only parses argv once (pythonGH-23168) bpo-42260: Add _PyConfig_FromDict() (pythonGH-23167) bpo-41877 Check for asert, aseert, assrt in mocks (pythonGH-23165) [docs] fix wrongly named AsyncContextDecorator (pythonGH-23164) bpo-42262: Add Py_NewRef() and Py_XNewRef() (pythonGH-23152) bpo-42266: Handle monkey-patching descriptors in LOAD_ATTR cache (pythonGH-23157) bpo-40816 Add AsyncContextDecorator class (pythonGH-20516) bpo-42260: Add _PyInterpreterState_SetConfig() (pythonGH-23158) Disable peg generator tests when building with PGO (pythonGH-23141) bpo-1635741: _sqlite3 uses PyModule_AddObjectRef() (pythonGH-23148) bpo-1635741: Fix PyInit_pyexpat() error handling (pythonGH-22489) bpo-42260: Main init modify sys.flags in-place (pythonGH-23150) ...
Added Py_NewRef() and Py_XNewRef() functions to increment the reference count of an object and return the object.
Add Py_NewRef() function to get a strong reference to an object.
https://bugs.python.org/issue42262