Re: [Jack-Devel] jconvolver and OSX

PrevNext  Index
DateMon, 28 Feb 2011 12:16:32 +0000
From Fons Adriaensen <[hidden] at linuxaudio dot org>
ToPaul Davis <[hidden] at linuxaudiosystems dot com>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToPaul Davis Re: [Jack-Devel] jconvolver and OSX
Follow-UpPaul Davis Re: [Jack-Devel] jconvolver and OSX
On Mon, Feb 28, 2011 at 07:05:25AM -0500, Paul Davis wrote:
> On Mon, Feb 28, 2011 at 6:58 AM, Fons Adriaensen <[hidden]> wrote:
> 
> > Does that mean that if you create a number of them sequentially
> > and unlink each of them before creating a new one, you can use
> > the same name for all ?
> 
> i haven't tried that. from the semantics of unlink(2), i'd suspect
> that it would work (since it works that way for files).
> 
> >> the *real* issue on OS X is that apple implemented sem_init() with a
> >> stub function. it does not return an error, but does nothing at all.
> >> absolutely appalling decision on their part.
> >
> > It doesn't even reset the value ? Zita-convolver relies on that...
> 
> that's why the constructor in the code torben pasted has two different
> pathways, one for OS X (involving sem_open() and then sem_unlink())
> and one for non-OS X involving sem_init(). there are no other changes
> required for handling the semaphores (though the sem_close() during
> descruction in the OS X case is a good idea for most use cases).

But if sem_init() does nothing you can't reset an existing one.
Except by reading the value and then in a loop calling sem_post()
or sem_wait()... Yuk.
 
> we use these semaphores in ardour3 for multi-threaded graph
> synchronization. to be fair, however, we have not really tested them
> much on OS X at this point (though we have verified that they work as
> expected).

How does A3 distribute processing task over multiple threads ?

-- 
FA
PrevNext  Index

1298895405.18561_0.ltw:2,a <20110228121632.GD29218 at linuxaudio dot org>