code: def _reload_on_update(modify_times):
      if _reload_attempted:
          # We already tried to reload and it didn't work, so don't try again.
          return
      if process.task_id() is not None:
          # We're in a child process created by fork_processes.  If child
          # processes restarted themselves, they'd all restart and then
          # all call fork_processes again.
          return
      for module in list(sys.modules.values()):
          # Some modules play games with sys.modules (e.g. email/__init__.py
          # in the standard library), and occasionally this can cause strange
          # failures in getattr.  Just ignore anything that's not an ordinary
          # module.
          if not isinstance(module, types.ModuleType):
              continue
          path = getattr(module, "__file__", None)
          if not path:
              continue
          if path.endswith(".pyc") or path.endswith(".pyo"):
              path = path[:-1]
          _check_file(modify_times, path)
      for path in _watched_files:
          _check_file(modify_times, path)
  
imports: from __future__ import absolute_import, division, print_function
  import os
  import sys
  import functools
  import logging
  import os
  import pkgutil
  import sys
  import traceback
  import types
  import subprocess
  import weakref
  from tornado import ioloop
  from tornado.log import gen_log
  from tornado import process
  from tornado.util import exec_in
label_desc: Use image node_id 5 for calling a global function with example usage: _reload_on_update(modify_times) without return types