mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-31 14:23:53 -06:00
osdep: remove use of socket_error() from all code
Now that QEMU wraps the Win32 sockets methods to automatically set errno upon failure, there is no reason for callers to use the socket_error() method. They can rely on accessing errno even on Win32. Remove all use of socket_error() from general code, leaving it as a static method in oslib-win32.c only. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
a2d96af4bb
commit
b16a44e13e
11 changed files with 46 additions and 63 deletions
|
@ -35,18 +35,16 @@ qemu_co_sendv_recvv(int sockfd, struct iovec *iov, unsigned iov_cnt,
|
|||
{
|
||||
size_t done = 0;
|
||||
ssize_t ret;
|
||||
int err;
|
||||
while (done < bytes) {
|
||||
ret = iov_send_recv(sockfd, iov, iov_cnt,
|
||||
offset + done, bytes - done, do_send);
|
||||
if (ret > 0) {
|
||||
done += ret;
|
||||
} else if (ret < 0) {
|
||||
err = socket_error();
|
||||
if (err == EAGAIN || err == EWOULDBLOCK) {
|
||||
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
||||
qemu_coroutine_yield();
|
||||
} else if (done == 0) {
|
||||
return -err;
|
||||
return -errno;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue