aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlim Kireev <klim.kireev@virtuozzo.com>2018-02-01 16:48:31 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2018-02-07 14:09:25 +0100
commit8f6d701044bc87197aac8aa2a627d70ce8471726 (patch)
treeb1e8452180db19a276af469a5dc9a37fe2428069
parent7e49f5e8e508ed020c96798b3f7083e24e0e425b (diff)
tests/test-filter-redirector: move close()
Since we have separate handler on POLLHUP, which drops data after closing the connection we need to fix this test, because it sends data and instantly close the socket creating race condition. In some cases on other end of socket client closes it faster than reads data. To prevent it I suggest to close socket after recieving. Signed-off-by: Klim Kireev <klim.kireev@virtuozzo.com> Message-Id: <20180201134831.17709-1-klim.kireev@virtuozzo.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--tests/test-filter-redirector.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/test-filter-redirector.c b/tests/test-filter-redirector.c
index f2566144cf..fbaf19bbd8 100644
--- a/tests/test-filter-redirector.c
+++ b/tests/test-filter-redirector.c
@@ -186,7 +186,6 @@ static void test_redirector_rx(void)
ret = iov_send(send_sock, iov, 2, 0, sizeof(size) + sizeof(send_buf));
g_assert_cmpint(ret, ==, sizeof(send_buf) + sizeof(size));
- close(send_sock);
ret = qemu_recv(backend_sock[0], &len, sizeof(len), 0);
g_assert_cmpint(ret, ==, sizeof(len));
@@ -197,6 +196,7 @@ static void test_redirector_rx(void)
ret = qemu_recv(backend_sock[0], recv_buf, len, 0);
g_assert_cmpstr(recv_buf, ==, send_buf);
+ close(send_sock);
g_free(recv_buf);
unlink(sock_path0);
unlink(sock_path1);