code: def poll(self, flag=os.WNOHANG):
      if self.returncode is None:
          while True:
              try:
                  pid, sts = os.waitpid(self.pid, flag)
              except OSError:
                  # Child process not yet created. See #1731717
                  # e.errno == errno.ECHILD == 10
                  return None
              else:
                  break
          if pid == self.pid:
              if os.WIFSIGNALED(sts):
                  self.returncode = -os.WTERMSIG(sts)
              else:
                  assert os.WIFEXITED(sts)
                  self.returncode = os.WEXITSTATUS(sts)
      return self.returncode
  
file_path: catboost/contrib/python/joblib/joblib/externals/loky/backend/popen_loky_posix.py
imports: import os
  import sys
  import signal
  import pickle
  from io import BytesIO
  from multiprocessing import util, process
  from multiprocessing.connection import wait
  from multiprocessing.context import set_spawning_popen
  from .None import reduction, resource_tracker, spawn
label_desc: Use image node_id 3 for calling the Popen obj's underlying member method code with example usage: obj.poll(flag) and returns: self, None