On Sun, 2 Apr 2006, Junio C Hamano wrote: > > We do two funky things when we have progress bar. We play games > with timer signal (setitimer(ITIMER_REAL) and signal(SIGALRM)), > and we spit out messages to stderr. I'd be willing to bet that it's the fact that we take signals. Suddenly, some system calls will either return -1/EINTR, or they'll return partial reads or writes. We should be pretty good at handling that, but maybe some place forgets. One thing to do might be to make the itimer use a much higher frequency, to trigger the problem more easily. We do, for example, expect that regular file writing not do that. At least "write_sha1_from_fd()" will just do a "write()" without testing the error return, which is bad (it would silently create a truncated object if the /tmp filesystem filled up). If somebody has their filesystem over NFS mounted interruptible, partial writes could also happen. Ho humm. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html