diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-11-17 22:03:20 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-11-17 22:03:20 -0800 |
commit | e36e6c00cd60130f8792319a5aa0f56d2da68e14 (patch) | |
tree | b78eb47745f965c463898141e4dfff0156cdd9d1 /upload-pack.c | |
parent | aa17bacc14362dbe076c5ea20531a21dea8677a7 (diff) | |
parent | 6b59f51b312f06d9420d34c09fa408c658aac6d2 (diff) | |
download | git-e36e6c00cd60130f8792319a5aa0f56d2da68e14.tar.gz |
Merge branch 'np/maint-sideband-favor-status'
* np/maint-sideband-favor-status:
give priority to progress messages
Diffstat (limited to 'upload-pack.c')
-rw-r--r-- | upload-pack.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/upload-pack.c b/upload-pack.c index 38ddac2e86..953ebe1a60 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -308,6 +308,23 @@ static void create_pack_file(void) } continue; } + if (0 <= pe && (pfd[pe].revents & (POLLIN|POLLHUP))) { + /* Status ready; we ship that in the side-band + * or dump to the standard error. + */ + sz = xread(pack_objects.err, progress, + sizeof(progress)); + if (0 < sz) + send_client_data(2, progress, sz); + else if (sz == 0) { + close(pack_objects.err); + pack_objects.err = -1; + } + else + goto fail; + /* give priority to status messages */ + continue; + } if (0 <= pu && (pfd[pu].revents & (POLLIN|POLLHUP))) { /* Data ready; we keep the last byte to ourselves * in case we detect broken rev-list, so that we @@ -345,21 +362,6 @@ static void create_pack_file(void) if (sz < 0) goto fail; } - if (0 <= pe && (pfd[pe].revents & (POLLIN|POLLHUP))) { - /* Status ready; we ship that in the side-band - * or dump to the standard error. - */ - sz = xread(pack_objects.err, progress, - sizeof(progress)); - if (0 < sz) - send_client_data(2, progress, sz); - else if (sz == 0) { - close(pack_objects.err); - pack_objects.err = -1; - } - else - goto fail; - } } if (finish_command(&pack_objects)) { |