示例#1
0
 def wait(self, timeout=None):
     if self.returncode is None:
         if timeout is not None:
             from multiprocess.connection import wait
             if not wait([self.sentinel], timeout):
                 return None
         # This shouldn't block if wait() returned successfully.
         return self.poll(os.WNOHANG if timeout == 0.0 else 0)
     return self.returncode
示例#2
0
 def wait(self, timeout=None):
     if self.returncode is None:
         if timeout is not None:
             from multiprocess.connection import wait
             if not wait([self.sentinel], timeout):
                 return None
         # This shouldn't block if wait() returned successfully.
         return self.poll(os.WNOHANG if timeout == 0.0 else 0)
     return self.returncode
示例#3
0
 def poll(self, flag=os.WNOHANG):
     if self.returncode is None:
         from multiprocess.connection import wait
         timeout = 0 if flag == os.WNOHANG else None
         if not wait([self.sentinel], timeout):
             return None
         try:
             self.returncode = forkserver.read_unsigned(self.sentinel)
         except (OSError, EOFError):
             # The process ended abnormally perhaps because of a signal
             self.returncode = 255
     return self.returncode
 def poll(self, flag=os.WNOHANG):
     if self.returncode is None:
         from multiprocess.connection import wait
         timeout = 0 if flag == os.WNOHANG else None
         if not wait([self.sentinel], timeout):
             return None
         try:
             self.returncode = forkserver.read_unsigned(self.sentinel)
         except (OSError, EOFError):
             # The process ended abnormally perhaps because of a signal
             self.returncode = 255
     return self.returncode
示例#5
0
    def poll(self, flag=os.WNOHANG):
        if self.returncode is None:
            from multiprocess.connection import wait
            timeout = 0 if flag == os.WNOHANG else None
            if not wait([self.sentinel], timeout):
                return None
            try:
                self.returncode = forkserver.read_signed(self.sentinel)
            except (OSError, EOFError):
                # This should not happen usually, but perhaps the forkserver
                # process itself got killed
                self.returncode = 255

        return self.returncode