bpo-13487: Use sys.modules.copy() in inspect.getmodule() for thread safety. (GH-18786)


`list(sys.modules.items())` was apparently not immune to "dictionary
changed size during iteration" errors.

Tested internally using an integration test that has run into this a couple of times in the past two years.  With this patch applied, the test is no longer flaky.
(cherry picked from commit 85cf1d514b84dc9a4bcb40e20a12e1d82ff19f20)

Co-authored-by: Gregory P. Smith <gps@google.com>
2 files changed