From: Brett Cannon Date: Thu, 8 Sep 2016 00:00:43 +0000 (-0700) Subject: Issue #27911: Remove some unnecessary error checks in import.c. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=52794db825caa62e1a066dce4bd95bde2fe80216;p=python Issue #27911: Remove some unnecessary error checks in import.c. Thanks to Xiang Zhang for the patch. --- diff --git a/Misc/NEWS b/Misc/NEWS index 8f9dbab2fb..9daaee2afb 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 c780fe2976..17188c275a 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); }