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
1298895405.18561_0.ltw:2,a <20110228121632.GD29218 at linuxaudio dot org>