util: loop_write - accept 0-length message
write() can send empty messages, so make sure loop_write() can do the same.
This commit is contained in:
+3
-3
@@ -1664,7 +1664,7 @@ int loop_write(int fd, const void *buf, size_t nbytes, bool do_poll) {
|
||||
|
||||
errno = 0;
|
||||
|
||||
while (nbytes > 0) {
|
||||
do {
|
||||
ssize_t k;
|
||||
|
||||
k = write(fd, p, nbytes);
|
||||
@@ -1684,12 +1684,12 @@ int loop_write(int fd, const void *buf, size_t nbytes, bool do_poll) {
|
||||
return -errno;
|
||||
}
|
||||
|
||||
if (k == 0) /* Can't really happen */
|
||||
if (nbytes > 0 && k == 0) /* Can't really happen */
|
||||
return -EIO;
|
||||
|
||||
p += k;
|
||||
nbytes -= k;
|
||||
}
|
||||
} while (nbytes > 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user