From 52794db825caa62e1a066dce4bd95bde2fe80216 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Wed, 7 Sep 2016 17:00:43 -0700 Subject: [PATCH] Issue #27911: Remove some unnecessary error checks in import.c. Thanks to Xiang Zhang for the patch. --- Misc/NEWS | 3 +++ Python/import.c | 8 ++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 8f9dbab2fb0..9daaee2afb4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.6.0 beta 1 Core and Builtins ----------------- +- Issue #27911: Remove unnecessary error checks in + import.c:exec_builtin_or_dynamic(). + - Issue #27983: Cause lack of llvm-profdata tool when using clang as required for PGO linking to be a configure time error rather than make time when --with-optimizations is enabled. Also improve our diff --git a/Python/import.c b/Python/import.c index c780fe29760..17188c275a7 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1942,19 +1942,15 @@ exec_builtin_or_dynamic(PyObject *mod) { def = PyModule_GetDef(mod); if (def == NULL) { - if (PyErr_Occurred()) { - return -1; - } return 0; } + state = PyModule_GetState(mod); - if (PyErr_Occurred()) { - return -1; - } if (state) { /* Already initialized; skip reload */ return 0; } + return PyModule_ExecDef(mod, def); }