code: def poll(self, flag=os.WNOHANG):
      # returns None if the process is not stopped yet. Otherwise, returns
      # process exit code.
      if flag != os.WNOHANG:
          raise NotImplementedError(
              "flag {} is not supported".format(flag)
          )
  
      # no need to wait here. get_job_status will be called later
      # if self._exiting:
      #     logger.debug("[poll] self._exiting is True, calling self.wait.")
      #     return self.wait(timeout=1)
  
      if self.job is None:
          # self.job is None meaning this process hasn't been fully started
          # yet.
          # logger.debug("[poll] self.job is None, return.")
          return None
  
      if self.returncode is None:
          if self.sentinel is not None:
              if not self._sentinel_readable(0):
                  logger.debug(
                      "self.sentinel not readable, process is still up"
                  )
  
                  # process is still up
                  return None
              logger.debug(
                  "self.sentinel readable, process is probably down"
              )
  
          logger.debug("self.sentinel is None, getting status")
          status = self.backend.get_job_status(self.job)
          # When exiting, make sure to call wait to get exit code
          if status != ProcessStatus.STOPPED and (not self._exiting):
              return None
      return self.wait(timeout=0)
  
imports: import fcntl
  import io
  import itertools
  import logging
  import multiprocessing
  import os
  import socket
  import struct
  import subprocess
  import sys
  import threading
  import time
  from multiprocessing import reduction, spawn, util
  from multiprocessing.context import set_spawning_popen
  import cloudpickle
  import requests
  import fiber.util
  import fiber.config
  from fiber.backend import get_backend
  from fiber.core import JobSpec
  from fiber.core import ProcessStatus
label_desc: Use image node_id 10 for calling the Popen obj's underlying member method code with example usage: obj.poll(flag) and returns: self, None, None, None