index c4cd1e1327f18ae27b74fac6dfd41938cd9dfe5d..29446e84ccf9322e722830f5af11da0c56709fb8 100644 (file)
--- a/builtin-upload-archive.c
+++ b/builtin-upload-archive.c
while (1) {
struct pollfd pfd[2];
while (1) {
struct pollfd pfd[2];
- ssize_t processed[2] = { 0, 0 };
int status;
pfd[0].fd = fd1[0];
int status;
pfd[0].fd = fd1[0];
}
continue;
}
}
continue;
}
- if (pfd[0].revents & POLLIN)
- /* Data stream ready */
- processed[0] = process_input(pfd[0].fd, 1);
if (pfd[1].revents & POLLIN)
/* Status stream ready */
if (pfd[1].revents & POLLIN)
/* Status stream ready */
- processed[1] = process_input(pfd[1].fd, 2);
- /* Always finish to read data when available */
- if (processed[0] || processed[1])
- continue;
+ if (process_input(pfd[1].fd, 2))
+ continue;
+ if (pfd[0].revents & POLLIN)
+ /* Data stream ready */
+ if (process_input(pfd[0].fd, 1))
+ continue;
if (waitpid(writer, &status, 0) < 0)
error_clnt("%s", lostchild);
if (waitpid(writer, &status, 0) < 0)
error_clnt("%s", lostchild);