code: def block(self, warn_only=False):
          
          self._state = "not finished"
          if self._return_code is None:
              proc = subprocess.Popen(
                  self.cmd, cwd=self.cwd, env=self.env,
                  stdout=subprocess.PIPE,
                  stderr=subprocess.PIPE
              )
              self._stdout, self._stderr = proc.communicate(timeout=self.timeout)
              self._return_code = proc.returncode
  
          self._state = FINISHED
          if not warn_only:
              self.raise_for_error()
docs: blocked executation.