summaryrefslogtreecommitdiff
path: root/tests/test-filter-redirector.c
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 /tests/test-filter-redirector.c
parent7e49f5e8e508ed020c96798b3f7083e24e0e425b (diff)
downloadqemu-8f6d701044bc87197aac8aa2a627d70ce8471726.tar.gz
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>
Diffstat (limited to 'tests/test-filter-redirector.c')
-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);