docs: def reload_including_local(module):
      """
      Reload a module.  If it isn"t found, try to include the local service
      directory.  This must be called from a thread that has acquired the import
      lock.
  
      :param module: the module to reload.
      """
      try:
          reload(module)
      except ImportError:
          # This can happen if the module was loaded in the immediate script
          # directory.  Add the service path and try again.
          if not hasattr(cherrypy.thread_data, "modulepath"):
              raise
          path = os.path.abspath(cherrypy.thread_data.modulepath)
          root = os.path.abspath(cherrypy.config.get("webroot"))
          if path not in sys.path and (path == root or path.startswith(root + os.path.sep)):
              oldpath = sys.path
              try:
                  sys.path = [path] + sys.path
                  reload(module)
              finally:
                  sys.path = oldpath
          else:
              raise