Re: [linux-audio-dev] jack_callback <-> rest of the world

From: fons adriaensen <fons.adriaensen@email-addr-hidden>
Date: Mon Oct 31 2005 - 03:18:35 EET

On Mon, Oct 31, 2005 at 01:44:45AM +0100, Florian Schmidt wrote:

> Btw: i just discovered that pthread mutexes and condvars can have a
> "process shared" flag which makes it possiblo to synchronize threads
> across processes as it seems. Could be useful for jack, no?
>
> pthread_condvar_setpshared()
> pthread_mutexattr_setpshared()
>
> Or do i misread that manpage?

Manpages sometimes document things that are not (yet) implemented.
Maybe it is now (in 2.6) but I'm quite sure it was not in 2.4.

For jack, all you need is the futexes (which are system wide,
I tested that). I'm pretty sure that all of jack can be written
without requiring a mutex shared with the client threads.

A big advantage of using futexes in shared memory would be
that they don't have to be recreated each time the callback
order changes - unlike the pipes, they are not bound to a
process, and to modify the 'trigger chain' all you need is
to change some pointers.

But ISTR that OSX only has named shared futexes (i.e. accessed
via a file descriptor), and then of course the problem remains.

-- 
FA
Received on Mon Oct 31 04:15:04 2005

This archive was generated by hypermail 2.1.8 : Mon Oct 31 2005 - 04:15:05 EET