class_docstr: Standard runner for all tasks.
class_docstr_tok: ["Standard","runner","for","all","tasks","."]
code: def return_code(self, timeout: float = 0) -> int | None:
      # We call this multiple times, but we can only wait on the process once
      if self._rc is not None or not self.process:
          return self._rc
  
      try:
          self._rc = self.process.wait(timeout=timeout)
          self.process = None
      except psutil.TimeoutExpired:
          pass
  
      return self._rc
  
file_path: airflow/airflow/task/task_runner/standard_task_runner.py
imports: from __future__ import annotations
  import logging
  import os
  from typing import TYPE_CHECKING
  import psutil
  from setproctitle import setproctitle
  from airflow.models.taskinstance import TaskReturnCode
  from airflow.settings import CAN_FORK
  from airflow.task.task_runner.base_task_runner import BaseTaskRunner
  from airflow.utils.dag_parsing_context import _airflow_parsing_context_manager
  from airflow.utils.process_utils import reap_process_group, set_new_process_group
label_desc: Use image node_id 5 for calling the StandardTaskRunner obj's underlying member method code with example usage: obj.return_code(timeout) and returns: self, self