summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2015-10-15 08:42:09 +0200
committerSebastian Thiel <byronimo@gmail.com>2015-10-15 08:42:09 +0200
commit7e58e6a0d78f5298252b2d6c4b0431427ec6d152 (patch)
tree25db781ea4a89b55526bb4abc91face04fdd01dc
parent51f79ffeb829315c33ce273ae69baf0fdd1fbd1e (diff)
parent2cc8f1e3c6627f0b4da7cb6550f7252f76529d8e (diff)
downloadgitpython-7e58e6a0d78f5298252b2d6c4b0431427ec6d152.tar.gz
Merge pull request #357 from rikdev/autointerrupt_deadlock_fix
fix(cmd): fixed deadlock when stderr buffer overflow
-rw-r--r--git/cmd.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/git/cmd.py b/git/cmd.py
index 3cdc68ab..6cf4d8a6 100644
--- a/git/cmd.py
+++ b/git/cmd.py
@@ -310,11 +310,11 @@ class Git(LazyMixin):
"""Wait for the process and return its status code.
:raise GitCommandError: if the return status is not 0"""
- status = self.proc.wait()
- if status != 0:
- raise GitCommandError(self.args, status, self.proc.stderr.read())
+ stderr_value = self.proc.communicate()[1]
+ if self.proc.returncode != 0:
+ raise GitCommandError(self.args, status, stderr_value)
# END status handling
- return status
+ return self.proc.returncode
# END auto interrupt
class CatFileContentStream(object):