diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-12-03 13:50:24 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-12-03 13:50:24 -0800 |
commit | ef3a4fd670a4874f9b598ef96b10b89117b806e1 (patch) | |
tree | 7f3c3e505922f37e94b57aea625b4ad571a989bd /upload-pack.c | |
parent | 59a0a0bd579087cce9f7baf6627e5add5a538097 (diff) | |
parent | 6b59f51b312f06d9420d34c09fa408c658aac6d2 (diff) | |
download | git-ef3a4fd670a4874f9b598ef96b10b89117b806e1.tar.gz |
Merge branch 'np/maint-sideband-favor-status' into maint
* 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)) { |