(self)
| 15 | self.returncode = None |
| 16 | |
| 17 | def wait(self): |
| 18 | pid = os.fork() |
| 19 | if pid == 0: |
| 20 | # Child process |
| 21 | try: |
| 22 | if self._env is not None: |
| 23 | os.execve(self._cmd[0], self._cmd, self._env) |
| 24 | else: |
| 25 | os.execv(self._cmd[0], self._cmd) |
| 26 | finally: |
| 27 | os._exit(1) |
| 28 | else: |
| 29 | # Parent process |
| 30 | _, status = os.waitpid(pid, 0) |
| 31 | self.returncode = os.waitstatus_to_exitcode(status) |
| 32 | |
| 33 | return self.returncode |
| 34 | |
| 35 | |
| 36 | def _check_cmd(cmd): |