mq_open¶
mq_open() creates or opens a POSIX message queue.
Prototype¶
Typical Usage¶
struct mq_attr attr = {
.mq_flags = 0,
.mq_maxmsg = 8,
.mq_msgsize = 128,
.mq_curmsgs = 0,
};
mqd_t mq = mq_open("/demo_mq", O_CREAT | O_RDWR, 0600, &attr);
if (mq == (mqd_t)-1) {
perror("mq_open");
return -1;
}
Related APIs¶
mq_send()mq_receive()mq_getattr()mq_setattr()mq_close()mq_unlink()
Common Pitfalls¶
Warning
The receive buffer must be at least mq_msgsize bytes.
Note
On Linux, POSIX message queue descriptors can be used with epoll().