Module Name: src
Committed By: skrll
Date: Wed Jul 24 11:44:10 UTC 2013
Modified Files:
src/tests/kernel: t_sysv.c
src/tests/lib/libc/sys: t_msgrcv.c
Log Message:
Fix msgsz confusion.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/kernel/t_sysv.c
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/sys/t_msgrcv.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/kernel/t_sysv.c
diff -u src/tests/kernel/t_sysv.c:1.2 src/tests/kernel/t_sysv.c:1.3
--- src/tests/kernel/t_sysv.c:1.2 Tue Nov 6 18:31:53 2012
+++ src/tests/kernel/t_sysv.c Wed Jul 24 11:44:10 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: t_sysv.c,v 1.2 2012/11/06 18:31:53 pgoyette Exp $ */
+/* $NetBSD: t_sysv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $ */
/*-
* Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
@@ -252,11 +252,11 @@ ATF_TC_BODY(msg, tc)
*/
m.mtype = MTYPE_1;
strcpy(m.mtext, m1_str);
- ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
- "sender: msgsnd 1: %d", errno);
+ ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN,
+ 0) != -1, "sender: msgsnd 1: %d", errno);
- ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
- MTYPE_1_ACK, 0) == sizeof(m),
+ ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
+ MTYPE_1_ACK, 0) == MESSAGE_TEXT_LEN,
"sender: msgrcv 1 ack: %d", errno);
print_msqid_ds(&m_ds, 0600);
@@ -266,11 +266,11 @@ ATF_TC_BODY(msg, tc)
*/
m.mtype = MTYPE_2;
strcpy(m.mtext, m2_str);
- ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
+ ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1,
"sender: msgsnd 2: %d", errno);
- ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
- MTYPE_2_ACK, 0) == sizeof(m),
+ ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
+ MTYPE_2_ACK, 0) == MESSAGE_TEXT_LEN,
"sender: msgrcv 2 ack: %d", errno);
}
@@ -361,7 +361,7 @@ receiver()
/*
* Receive the first message, print it, and send an ACK.
*/
- if (msgrcv(msqid, &m, sizeof(m), MTYPE_1, 0) != sizeof(m))
+ if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_1, 0) != MESSAGE_TEXT_LEN)
err(1, "receiver: msgrcv 1");
printf("%s\n", m.mtext);
@@ -370,14 +370,14 @@ receiver()
m.mtype = MTYPE_1_ACK;
- if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
+ if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
err(1, "receiver: msgsnd ack 1");
/*
* Receive the second message, print it, and send an ACK.
*/
- if (msgrcv(msqid, &m, sizeof(m), MTYPE_2, 0) != sizeof(m))
+ if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_2, 0) != MESSAGE_TEXT_LEN)
err(1, "receiver: msgrcv 2");
printf("%s\n", m.mtext);
@@ -386,7 +386,7 @@ receiver()
m.mtype = MTYPE_2_ACK;
- if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
+ if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
err(1, "receiver: msgsnd ack 2");
}
Index: src/tests/lib/libc/sys/t_msgrcv.c
diff -u src/tests/lib/libc/sys/t_msgrcv.c:1.2 src/tests/lib/libc/sys/t_msgrcv.c:1.3
--- src/tests/lib/libc/sys/t_msgrcv.c:1.2 Fri Nov 11 05:06:01 2011
+++ src/tests/lib/libc/sys/t_msgrcv.c Wed Jul 24 11:44:10 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $ */
+/* $NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $");
+__RCSID("$NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $");
#include <sys/msg.h>
#include <sys/stat.h>
@@ -51,10 +51,11 @@ __RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/
#define MSG_MTYPE_1 0x41
#define MSG_MTYPE_2 0x42
#define MSG_MTYPE_3 0x43
+#define MSG_LEN 3
struct msg {
long mtype;
- char buf[3];
+ char buf[MSG_LEN];
};
static void clean(void);
@@ -83,8 +84,8 @@ ATF_TC_BODY(msgrcv_basic, tc)
id = msgget(MSG_KEY, IPC_CREAT | 0600);
ATF_REQUIRE(id != -1);
- (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
- (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
+ (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+ (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
ATF_CHECK(msg1.buf[0] == msg2.buf[0]);
ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
@@ -118,7 +119,7 @@ ATF_TC_BODY(msgrcv_block, tc)
if (pid == 0) {
- if (msgrcv(id, &msg, sizeof(struct msg), MSG_MTYPE_1, 0) < 0)
+ if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1, 0) < 0)
_exit(EXIT_FAILURE);
_exit(EXIT_SUCCESS);
@@ -129,7 +130,7 @@ ATF_TC_BODY(msgrcv_block, tc)
* and hence kill(2) should fail with ESRCH.
*/
(void)sleep(1);
- (void)msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT);
+ (void)msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT);
(void)sleep(1);
(void)kill(pid, SIGKILL);
(void)wait(&sta);
@@ -162,31 +163,31 @@ ATF_TC_BODY(msgrcv_err, tc)
errno = 0;
ATF_REQUIRE_ERRNO(ENOMSG, msgrcv(id, &msg,
- sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+ MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
- ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
+ ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
errno = 0;
ATF_REQUIRE_ERRNO(EFAULT, msgrcv(id, (void *)-1,
- sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+ MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
errno = 0;
ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
- sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+ MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
errno = 0;
ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
SSIZE_MAX, MSG_MTYPE_1, IPC_NOWAIT) == -1);
- ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
+ ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
errno = 0;
ATF_REQUIRE_ERRNO(E2BIG, msgrcv(id, &r,
- sizeof(int), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+ MSG_LEN - 1, MSG_MTYPE_1, IPC_NOWAIT) == -1);
ATF_REQUIRE(msgctl(id, IPC_RMID, 0) == 0);
}
@@ -212,14 +213,14 @@ ATF_TC_BODY(msgrcv_mtype, tc)
id = msgget(MSG_KEY, IPC_CREAT | 0600);
ATF_REQUIRE(id != -1);
- (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
- (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_2, IPC_NOWAIT);
+ (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+ (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_2, IPC_NOWAIT);
ATF_CHECK(msg1.buf[0] != msg2.buf[0]); /* Different mtype. */
ATF_CHECK(msg1.buf[1] != msg2.buf[1]);
ATF_CHECK(msg1.buf[2] != msg2.buf[2]);
- (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
+ (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
ATF_CHECK(msg1.buf[0] == msg2.buf[0]); /* Same mtype. */
ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
@@ -253,8 +254,7 @@ ATF_TC_BODY(msgrcv_nonblock, tc)
for (i = 0; i < n; i++) {
- ATF_REQUIRE(msgsnd(id, &msg,
- sizeof(struct msg), IPC_NOWAIT) == 0);
+ ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
}
pid = fork();
@@ -264,8 +264,8 @@ ATF_TC_BODY(msgrcv_nonblock, tc)
while (i != 0) {
- if (msgrcv(id, &msg, sizeof(struct msg),
- MSG_MTYPE_1, IPC_NOWAIT) == -1)
+ if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1,
+ IPC_NOWAIT) == -1)
_exit(EXIT_FAILURE);
i--;
@@ -300,9 +300,10 @@ ATF_TC_HEAD(msgrcv_truncate, tc)
ATF_TC_BODY(msgrcv_truncate, tc)
{
+#define MSG_SMALLLEN 2
struct msgsmall {
long mtype;
- char buf[2];
+ char buf[MSG_SMALLLEN];
};
struct msg msg1 = { MSG_MTYPE_1, { 'a', 'b', 'c' } };
@@ -312,8 +313,8 @@ ATF_TC_BODY(msgrcv_truncate, tc)
id = msgget(MSG_KEY, IPC_CREAT | 0600);
ATF_REQUIRE(id != -1);
- (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
- (void)msgrcv(id, &msg2, sizeof(struct msgsmall),
+ (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+ (void)msgrcv(id, &msg2, MSG_SMALLLEN,
MSG_MTYPE_1, IPC_NOWAIT | MSG_NOERROR);
ATF_CHECK(msg1.buf[0] == msg2.buf[0]);