Commit 2f65b44e authored by Stefan Hajnoczi's avatar Stefan Hajnoczi Committed by David S. Miller
Browse files

VSOCK: add full barrier between test cases



See code comment for details.

Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: default avatarStefano Garzarella <sgarzare@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9bb8a29d
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -161,10 +161,24 @@ void run_tests(const struct test_case *test_cases,
		printf("%s...", test_cases[i].name);
		fflush(stdout);

		if (opts->mode == TEST_MODE_CLIENT)
		if (opts->mode == TEST_MODE_CLIENT) {
			/* Full barrier before executing the next test.  This
			 * ensures that client and server are executing the
			 * same test case.  In particular, it means whoever is
			 * faster will not see the peer still executing the
			 * last test.  This is important because port numbers
			 * can be used by multiple test cases.
			 */
			control_expectln("NEXT");
			control_writeln("NEXT");

			run = test_cases[i].run_client;
		else
		} else {
			control_writeln("NEXT");
			control_expectln("NEXT");

			run = test_cases[i].run_server;
		}

		if (run)
			run(opts);