code: def reopen_readonly(fp):
      
      fd = os.open(fp.name, os.O_RDONLY)
      os.dup2(fd, fp.fileno())
      os.close(fd)
docs: Replace the file descriptor belonging to the file object `fp` with one
      open on the same file (`fp.name`), but opened with :py:data:`os.O_RDONLY`.
      This enables temporary files to be executed on Linux, which usually throws
      ``ETXTBUSY`` if any writeable handle exists pointing to a file passed to
      `execve()`.