1 // RUN: %clang -O1 %s -o %t && %run %t
2 // UNSUPPORTED: android
9 #define CHECK_STRING "hello, world!"
10 #define MSG_BUFLEN 0x100
13 int msgq
= msgget(IPC_PRIVATE
, 0666);
14 if (msgq
== -1) perror("msgget:");
19 char string
[MSG_BUFLEN
];
24 strcpy(msg
.string
, CHECK_STRING
);
25 int res
= msgsnd(msgq
, &msg
, MSG_BUFLEN
, IPC_NOWAIT
);
27 fprintf(stderr
, "Error sending message! %s\n", strerror(errno
));
28 msgctl(msgq
, IPC_RMID
, NULL
);
33 ssize_t len
= msgrcv(msgq
, &rcv_msg
, MSG_BUFLEN
, msg
.mtype
, IPC_NOWAIT
);
34 assert(len
== MSG_BUFLEN
);
35 assert(msg
.mtype
== rcv_msg
.mtype
);
36 assert(!memcmp(msg
.string
, rcv_msg
.string
, MSG_BUFLEN
));
37 msgctl(msgq
, IPC_RMID
, NULL
);