Skip to content

Commit

Permalink
gh-106320: Don't export _Py_ForgetReference() function (#108712)
Browse files Browse the repository at this point in the history
There is no need to export the _Py_ForgetReference() function of the
Py_TRACE_REFS build. It's not used by shared extensions. Enhance also
its comment.
  • Loading branch information
vstinner authored Aug 31, 2023
1 parent 9c03215 commit 194c6fb
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions Include/internal/pycore_object.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,14 @@ extern void _PyDebugAllocatorStats(FILE *out, const char *block_name,
extern void _PyObject_DebugTypeStats(FILE *out);

#ifdef Py_TRACE_REFS
/* Py_TRACE_REFS is such major surgery that we call external routines. */
PyAPI_FUNC(void) _Py_ForgetReference(PyObject *);
// Forget a reference registered by _Py_NewReference(). Function called by
// _Py_Dealloc().
//
// On a free list, the function can be used before modifying an object to
// remove the object from traced objects. Then _Py_NewReference() or
// _Py_NewReferenceNoTotal() should be called again on the object to trace
// it again.
extern void _Py_ForgetReference(PyObject *);
#endif

// Export for shared _testinternalcapi extension
Expand Down

0 comments on commit 194c6fb

Please sign in to comment.