| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -73,6 +73,9 @@ def __init__(self, proc, args ): | |||
| 73 | 73 | self.args = args | |
| 74 | 74 | ||
| 75 | 75 | def __del__(self): | |
| 76 | + self.proc.stdout.close() | ||
| 77 | + self.proc.stderr.close() | ||
| 78 | + | ||
| 76 | 79 | # did the process finish already so we have a return code ? | |
| 77 | 80 | if self.proc.poll() is not None: | |
| 78 | 81 | return | |
@@ -84,6 +87,8 @@ def __del__(self): | |||
| 84 | 87 | # try to kill it | |
| 85 | 88 | try: | |
| 86 | 89 | os.kill(self.proc.pid, 2) # interrupt signal | |
| 90 | + except OSError: | ||
| 91 | + pass # ignore error when process already died | ||
| 87 | 92 | except AttributeError: | |
| 88 | 93 | # try windows | |
| 89 | 94 | # for some reason, providing None for stdout/stderr still prints something. This is why | |
@@ -100,6 +105,8 @@ def wait(self): | |||
| 100 | 105 | ||
| 101 | 106 | :raise GitCommandError: if the return status is not 0""" | |
| 102 | 107 | status = self.proc.wait() | |
| 108 | + self.proc.stdout.close() | ||
| 109 | + self.proc.stderr.close() | ||
| 103 | 110 | if status != 0: | |
| 104 | 111 | raise GitCommandError(self.args, status, self.proc.stderr.read()) | |
| 105 | 112 | # END status handling | |
| Back | FazBrowse Home | New Git URL |
0 commit comments