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


Reply via email to