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

From: Stéphane Letz <letz@email-addr-hidden>
Date: Wed Nov 02 2005 - 13:38:49 EET

Le 2 nov. 05 à 12:11, Alfons Adriaensen a écrit :

> On Wed, Nov 02, 2005 at 11:56:59AM +0100, St?phane Letz wrote:
>
>>> I must be missing something essential here. Access to named things
>>> that have to be opened is normally by a file descriptor, and file
>>> descriptors are bound a process. How then can you give *all* clients
>>> access to the named pipe or sema created for a new client ?
>>
>> The synchronization primitive is actually created by the server when
>> a new client register. Then a client identifier (built using the
>> actual client name) is transfered to all running clients that will
>> define/access the synchronization primitive in their own process.
>
> But in order to define/access it in their own process, they have to
> open()
> it, i.e. perfrom a call to the filesystem, or am I wrong here ?

Yes, clients use open *once* when the new client opens. This is done
in a non RT thread (what we call the "notification" thread that also
handle all non RT events like callback...)

> This means that changing the graph order can never be a RT operation,
> unless clients get a second, non-RT thread to perform this call from.

There is no need to open the synchronization primitive at graph re-
order time. Since a given client can access all synchronization
primitive, when the graph order changes, then the client will
possibly have to notify another primitive.

Stephane
Received on Wed Nov 2 16:15:07 2005

This archive was generated by hypermail 2.1.8 : Wed Nov 02 2005 - 16:15:07 EET