@@ -944,9 +944,8 @@ _PyState_AddModule(PyThreadState *tstate, PyObject* module, PyModuleDef* def)
944
944
}
945
945
}
946
946
947
- Py_INCREF (module );
948
947
return PyList_SetItem (interp -> modules_by_index ,
949
- def -> m_base .m_index , module );
948
+ def -> m_base .m_index , Py_NewRef ( module ) );
950
949
}
951
950
952
951
int
@@ -994,8 +993,7 @@ PyState_RemoveModule(PyModuleDef* def)
994
993
Py_FatalError ("Module index out of bounds." );
995
994
}
996
995
997
- Py_INCREF (Py_None );
998
- return PyList_SetItem (interp -> modules_by_index , index , Py_None );
996
+ return PyList_SetItem (interp -> modules_by_index , index , Py_NewRef (Py_None ));
999
997
}
1000
998
1001
999
// Used by finalize_modules()
@@ -1299,8 +1297,7 @@ PyThreadState_GetFrame(PyThreadState *tstate)
1299
1297
if (frame == NULL ) {
1300
1298
PyErr_Clear ();
1301
1299
}
1302
- Py_XINCREF (frame );
1303
- return frame ;
1300
+ return (PyFrameObject * )Py_XNewRef (frame );
1304
1301
}
1305
1302
1306
1303
@@ -1346,8 +1343,7 @@ PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc)
1346
1343
* the decref.
1347
1344
*/
1348
1345
PyObject * old_exc = tstate -> async_exc ;
1349
- Py_XINCREF (exc );
1350
- tstate -> async_exc = exc ;
1346
+ tstate -> async_exc = Py_XNewRef (exc );
1351
1347
HEAD_UNLOCK (runtime );
1352
1348
1353
1349
Py_XDECREF (old_exc );
@@ -2027,8 +2023,7 @@ _bytes_shared(PyObject *obj, _PyCrossInterpreterData *data)
2027
2023
return -1 ;
2028
2024
}
2029
2025
data -> data = (void * )shared ;
2030
- Py_INCREF (obj );
2031
- data -> obj = obj ; // Will be "released" (decref'ed) when data released.
2026
+ data -> obj = Py_NewRef (obj ); // Will be "released" (decref'ed) when data released.
2032
2027
data -> new_object = _new_bytes_object ;
2033
2028
data -> free = PyMem_Free ;
2034
2029
return 0 ;
@@ -2055,8 +2050,7 @@ _str_shared(PyObject *obj, _PyCrossInterpreterData *data)
2055
2050
shared -> buffer = PyUnicode_DATA (obj );
2056
2051
shared -> len = PyUnicode_GET_LENGTH (obj );
2057
2052
data -> data = (void * )shared ;
2058
- Py_INCREF (obj );
2059
- data -> obj = obj ; // Will be "released" (decref'ed) when data released.
2053
+ data -> obj = Py_NewRef (obj ); // Will be "released" (decref'ed) when data released.
2060
2054
data -> new_object = _new_str_object ;
2061
2055
data -> free = PyMem_Free ;
2062
2056
return 0 ;
@@ -2093,8 +2087,7 @@ static PyObject *
2093
2087
_new_none_object (_PyCrossInterpreterData * data )
2094
2088
{
2095
2089
// XXX Singleton refcounts are problematic across interpreters...
2096
- Py_INCREF (Py_None );
2097
- return Py_None ;
2090
+ return Py_NewRef (Py_None );
2098
2091
}
2099
2092
2100
2093
static int
0 commit comments