mshow: writefile: write in a loop

pull/1/merge
Christian Neukirchen 8 years ago
parent 67f61f18ba
commit 0a53f92e06

@ -354,11 +354,20 @@ writefile(char *name, char *buf, ssize_t len)
perror("open"); perror("open");
return -1; return -1;
} }
if (write(fd, buf, len) != len) {
// XXX partial write ssize_t wr = 0, n;
perror("write"); do {
return -1; if ((n = write(fd, buf + wr, len - wr)) == -1) {
} if (errno == EINTR) {
continue;
} else {
perror("write");
return -1;
}
}
wr += n;
} while (wr < len);
close(fd); close(fd);
return 0; return 0;
} }

Loading…
Cancel
Save