Keep ref to ECHILD in local scope (#16650)
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 104d6ec..19a5188 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1292,7 +1292,7 @@
 
 
         def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid,
-                _WNOHANG=os.WNOHANG, _os_error=os.error):
+                _WNOHANG=os.WNOHANG, _os_error=os.error, _ECHILD=errno.ECHILD):
             """Check if child process has terminated.  Returns returncode
             attribute.
 
@@ -1308,7 +1308,7 @@
                 except _os_error as e:
                     if _deadstate is not None:
                         self.returncode = _deadstate
-                    if e.errno == errno.ECHILD:
+                    if e.errno == _ECHILD:
                         # This happens if SIGCLD is set to be ignored or
                         # waiting for child processes has otherwise been
                         # disabled for our process.  This child is dead, we