2007-08-03 10:06:24

by gregfe

[permalink] [raw]
Subject: Implementation of POSIX mqueues in Linux 2.6

Hi there,
I find little documentation on the actual implementation of POSIX message queues in Linux, and need some advise. In
particular, I am wondering whether it supports inter-process *and* inter-thread
communication, and if can I manage to use shared memory pools for zero-copy messaging in case of inter-process
communication. On more thing: kernel's "make menuconfig" of version 2.6.11 says :

>> To use this feature you will also need mqueue library, available

>> from <... a URL ... to M. Wronski's and K. Benedyczak's home page>"

Is it still up to date ?

Thank you very much for your advise !

G.



_____________________________________________________________________________
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail


2007-08-03 10:23:45

by Jakub Jelinek

[permalink] [raw]
Subject: Re: Implementation of POSIX mqueues in Linux 2.6

On Fri, Aug 03, 2007 at 09:59:32AM +0000, gregfe wrote:
> I find little documentation on the actual implementation of POSIX message
> queues in Linux, and need some advise. In particular, I am wondering
> whether it supports inter-process *and* inter-thread communication, and if

Not sure what exactly you mean by inter-thread communication, whether
communication between threads within one process or between threads from
different processes. You can use mq_* for either, except that mq_notify
registered signal notification is sent to the process that called mq_notify,
not thread (and for SIGEV_THREAD a new thread is created).

Though of course for communication between threads within one process
mq_* is a huge overkill.

> On more thing: kernel's "make menuconfig" of
> version 2.6.11 says :
>
> >> To use this feature you will also need mqueue library, available
>
> >> from <... a URL ... to M. Wronski's and K. Benedyczak's home page>"
>
> Is it still up to date ?

No, glibc supports mq_* APIs for more than 3 years now.

Jakub