[CRIU] [PATCH] zdtm: don't wait in IPC queue on message operations
Kinsbursky Stanislav
skinsbursky at openvz.org
Fri Feb 10 07:03:40 EST 2012
Otherwise test will sleep in kernel in case of queue is emptry on read or
queue is full on write.
Signed-off-by: Stanislav Kinsbursky <skinsbursky at parallels.com>
---
test/zdtm/live/static/msgque.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/test/zdtm/live/static/msgque.c b/test/zdtm/live/static/msgque.c
index e56ac8d..2fe53a3 100644
--- a/test/zdtm/live/static/msgque.c
+++ b/test/zdtm/live/static/msgque.c
@@ -59,7 +59,7 @@ static int test_fn(int argc, char **argv)
if (pid == 0) {
test_waitsig();
- if (msgrcv(msg, &msgbuf, sizeof(TEST_STRING), MSG_TYPE, 0) == -1) {
+ if (msgrcv(msg, &msgbuf, sizeof(TEST_STRING), MSG_TYPE, IPC_NOWAIT) == -1) {
fail("Child: msgrcv failed (%m)");
return -errno;
}
@@ -72,7 +72,7 @@ static int test_fn(int argc, char **argv)
msgbuf.mtype = ANOTHER_MSG_TYPE;
memcpy(msgbuf.mtext, ANOTHER_TEST_STRING, sizeof(ANOTHER_TEST_STRING));
- if (msgsnd(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), 0) != 0) {
+ if (msgsnd(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), IPC_NOWAIT) != 0) {
fail("Child: msgsnd failed (%m)");
return -errno;
};
@@ -81,7 +81,7 @@ static int test_fn(int argc, char **argv)
} else {
msgbuf.mtype = MSG_TYPE;
memcpy(msgbuf.mtext, TEST_STRING, sizeof(TEST_STRING));
- if (msgsnd(msg, &msgbuf, sizeof(TEST_STRING), 0) != 0) {
+ if (msgsnd(msg, &msgbuf, sizeof(TEST_STRING), IPC_NOWAIT) != 0) {
fail("Parent: msgsnd failed (%m)");
goto err_kill;
};
@@ -99,7 +99,7 @@ static int test_fn(int argc, char **argv)
goto out;
}
- if (msgrcv(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), ANOTHER_MSG_TYPE, 0) == -1) {
+ if (msgrcv(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), ANOTHER_MSG_TYPE, IPC_NOWAIT) == -1) {
fail("Parent: msgrcv failed (%m)");
goto err;
}
More information about the CRIU
mailing list