|
From: | Gerd Hoffmann |
Subject: | [Qemu-devel] Re: [PATCH v5 3/6] char: Let writers know how much data was written in case of errors |
Date: | Tue, 04 May 2010 13:24:58 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4 |
@@ -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. cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |