diff options
Diffstat (limited to 'Modules/_posixsubprocess.c')
-rw-r--r-- | Modules/_posixsubprocess.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c index d520c8c..c8f2500 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -47,7 +47,9 @@ static int _enable_gc(PyObject *gc_module) { PyObject *result; - result = PyObject_CallMethod(gc_module, "enable", NULL); + _Py_IDENTIFIER(enable); + + result = _PyObject_CallMethodId(gc_module, &PyId_enable, NULL); if (result == NULL) return 1; Py_DECREF(result); @@ -523,10 +525,13 @@ subprocess_fork_exec(PyObject* self, PyObject *args) /* We need to call gc.disable() when we'll be calling preexec_fn */ if (preexec_fn != Py_None) { PyObject *result; + _Py_IDENTIFIER(isenabled); + _Py_IDENTIFIER(disable); + gc_module = PyImport_ImportModule("gc"); if (gc_module == NULL) return NULL; - result = PyObject_CallMethod(gc_module, "isenabled", NULL); + result = _PyObject_CallMethodId(gc_module, &PyId_isenabled, NULL); if (result == NULL) { Py_DECREF(gc_module); return NULL; @@ -537,7 +542,7 @@ subprocess_fork_exec(PyObject* self, PyObject *args) Py_DECREF(gc_module); return NULL; } - result = PyObject_CallMethod(gc_module, "disable", NULL); + result = _PyObject_CallMethodId(gc_module, &PyId_disable, NULL); if (result == NULL) { Py_DECREF(gc_module); return NULL; |