Commit 3c51808f authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

zdtm: make several connections to a file dgram socket

Before we checked only one connection.
With this patch the test reproduces a bug:

Error (sk-unix.c:395): BUG at sk-unix.c:395
Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent bc2ac71c
...@@ -30,6 +30,7 @@ int main(int argc, char *argv[]) ...@@ -30,6 +30,7 @@ int main(int argc, char *argv[])
int sk_dgram_bound_client; int sk_dgram_bound_client;
int sk_dgram_bound_server; int sk_dgram_bound_server;
int sk_dgram_conn_client; int sk_dgram_conn_client;
int sk_dgram_conn_client2;
int sk_dgram_conn_server; int sk_dgram_conn_server;
int sk_dgram_bound_conn; int sk_dgram_bound_conn;
...@@ -53,12 +54,14 @@ int main(int argc, char *argv[]) ...@@ -53,12 +54,14 @@ int main(int argc, char *argv[])
sk_dgram_bound_client = socket(AF_UNIX, SOCK_DGRAM, 0); sk_dgram_bound_client = socket(AF_UNIX, SOCK_DGRAM, 0);
sk_dgram_bound_server = socket(AF_UNIX, SOCK_DGRAM, 0); sk_dgram_bound_server = socket(AF_UNIX, SOCK_DGRAM, 0);
sk_dgram_conn_client = socket(AF_UNIX, SOCK_DGRAM, 0); sk_dgram_conn_client = socket(AF_UNIX, SOCK_DGRAM, 0);
sk_dgram_conn_client2 = socket(AF_UNIX, SOCK_DGRAM, 0);
sk_dgram_conn_server = socket(AF_UNIX, SOCK_DGRAM, 0); sk_dgram_conn_server = socket(AF_UNIX, SOCK_DGRAM, 0);
sk_dgram_bound_conn = socket(AF_UNIX, SOCK_DGRAM, 0); sk_dgram_bound_conn = socket(AF_UNIX, SOCK_DGRAM, 0);
if (sk_dgram_conn_server < 0 || if (sk_dgram_conn_server < 0 ||
sk_dgram_bound_server < 0 || sk_dgram_bound_server < 0 ||
sk_dgram_conn_client < 0 || sk_dgram_conn_client < 0 ||
sk_dgram_conn_client2 < 0 ||
sk_dgram_conn_server < 0 || sk_dgram_conn_server < 0 ||
sk_dgram_bound_conn < 0) { sk_dgram_bound_conn < 0) {
fail("socket"); fail("socket");
...@@ -101,6 +104,12 @@ int main(int argc, char *argv[]) ...@@ -101,6 +104,12 @@ int main(int argc, char *argv[])
exit(1); exit(1);
} }
ret = connect(sk_dgram_conn_client2, &name_conn, sizeof(name_conn));
if (ret) {
fail("connect");
exit(1);
}
ret = bind(sk_dgram_bound_conn, &name_bound_conn, sizeof(name_bound_conn)); ret = bind(sk_dgram_bound_conn, &name_bound_conn, sizeof(name_bound_conn));
if (ret) { if (ret) {
fail("bind"); fail("bind");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment