Smeaphores and shared memory provide very different conceptually
different services from pipes. Message queues, however, provide the
same conceptual service as pipes. So now we have duplication of
functionality, with the disadvantage that sending a message via a
message queue is limited to the same machine (yes, I'm ignoring DIPC
and such: they open up another can of worms). Sending a message via a
pipe (i.e. write()ing to a FD) is not limited to the same machine
(just call connect() instead of socketpair()).
Anyway, I don't have a problem with message queues in the sense that I
think they should be removed or anything like that. I just think that
supporting them via select()/poll() is pointless. If you want
multiplexing of message queues, use pipes instead.
Frankly, I'd like to see SysV message queues implemented in libc on
top of pipes. Once shmfs is in the kernel, I'd like to see the SysV
shared memory support ripped out of the kernel and put into user space
too. It's good enough for POSIX SHM.
Regards,
Richard....
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/