Hi, The question is not really kernel related. Possibly tech-userlevel@, but neither it is related with NetBSD per se.
Marc Balmer <[email protected]> wrote: > What is the prupose or reasoning behind the fact that multiple processes > can open a message queue for reading using mq_open()? > > I wrote simple mq sender and mq receiver programs; when I start multiple > receivers on the same mq, and send a message to it, only one of the > receivers gets the message, in a round robin fashion. That is probably > by design, but if a mq is meant to connect only two processes, why can > more than two processes open it? Why do you think it is meant to connect only two processes? It is an asynchronous inter-process communication mechanism, it is just a FIFO queue of messages. To expand what Martin said, you can have multiple producers and multiple consumers (M:N, not only 1:N or M:1) since it really depends on what are you build on top of this interface. These are basic IPC concepts. I would suggest to Google for "POSIX message queue" or just check the Wikipedia page first. We also have a pretty good mqueue(3) manual page. -- Mindaugas
