Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upfix(cmd): fixed deadlock when stderr buffer overflow #357
Conversation
Fixed deadlock when using stderr=PIPE in Popen and Git generates enough output to a pipe such that it blocks waiting for the OS pipe buffer to accept more data (see https://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait)
|
Thank you very much ! It's quite amazing how long code like this could survive in a library (as old) as GitPython. (It's probably because |
fix(cmd): fixed deadlock when stderr buffer overflow
7e58e6a
into
gitpython-developers:master
|
Currently I believe GitPython does handle process channels correctly. Maybe you have an example of where this is not the case ? Those who control the process directly, may as well call |
|
I use Git with Git LFS plugin. When clone a repository with the function git.Repo.clone_from, Git LFS outputs to stderr a list of downloaded files and overflow OS pipe buffer. |
Fixed deadlock when using stderr=PIPE in Popen and Git generates enough
output to a pipe such that it blocks waiting for the OS pipe buffer to
accept more data (see https://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait)