On (Tue) May 04 2010 [13:24:58], Gerd Hoffmann wrote: >> @@ -531,8 +534,12 @@ static int unix_write(int fd, const uint8_t *buf, int >> len1) >> while (len> 0) { >> ret = write(fd, buf, len); >> if (ret< 0) { >> - if (errno != EINTR&& errno != EAGAIN) >> + if (len1 - len) { >> + return len1 - len; >> + } >> + if (errno != EINTR&& errno != EAGAIN) { >> return -1; >> + } > > This makes unix_write pass -EINTR up to the caller which it didn't before.
Only on partial writes. Should be OK, no? Amit