# HG changeset patch
# User Anton Shestakov <av6@dwimlabs.net>
# Date 1701540628 10800
#      Sat Dec 02 15:10:28 2023 -0300
# Branch stable
# Node ID a9e00554b3e482927113d0761e1eb7d382baaba6
# Parent  b79f13d6ef25892ce22a426638f4b3c3a1f2753c
procutil: move stdin assignment outside of try-finally block

There is an stdin variable in the global scope of this module. And in the
`finally` block of this try-finally statement we're checking `if stdin is not
None`.  Let's make sure we don't confuse code check tools into thinking we want
to use global stdin by moving this line of code outside of `try`.

This was caught by pytype 2023.11.21 on Python 3.11.2.

diff --git a/mercurial/utils/procutil.py b/mercurial/utils/procutil.py
--- a/mercurial/utils/procutil.py
+++ b/mercurial/utils/procutil.py
@@ -686,8 +686,9 @@
         # we can't use close_fds *and* redirect stdin. I'm not sure that we
         # need to because the detached process has no console connection.
 
+        stdin = None
+
         try:
-            stdin = None
             if stdin_bytes is not None:
                 stdin = pycompat.unnamedtempfile()
                 stdin.write(stdin_bytes)