summaryrefslogtreecommitdiff
path: root/upload-pack.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-11-17 22:03:20 -0800
committerJunio C Hamano <gitster@pobox.com>2009-11-17 22:03:20 -0800
commite36e6c00cd60130f8792319a5aa0f56d2da68e14 (patch)
treeb78eb47745f965c463898141e4dfff0156cdd9d1 /upload-pack.c
parentaa17bacc14362dbe076c5ea20531a21dea8677a7 (diff)
parent6b59f51b312f06d9420d34c09fa408c658aac6d2 (diff)
downloadgit-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.c32
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)) {