[LAD] Best practice for sharing complex data structures with a jack callback function

Lars Luthman lars.luthman at gmail.com
Sat Jul 7 10:08:07 UTC 2007


On Sat, 2007-07-07 at 12:03 +0200, Arnold Krille wrote:
> Am Samstag, 7. Juli 2007 schrieb Lars Luthman:
> > On Sat, 2007-07-07 at 02:34 +0200, Fons Adriaensen wrote:
> > > * The callback has to know when it can (re)write the object.
> > >   Clearly it should never wait on a sema, and it is already
> > >   periodic, so here you can use a flag in the object.
> > Is there any advantage in using a simple flag instead of a semaphore and
> > sem_trywait()?
> 
> A semaphore might mislead you to use wait()/lock() in the wrong thread...

Seriously now, I'm not _that_ stupid. =)


> And if you only sync two threads and each of them has its own flag (for 
> write), there shouldn't be any race-conditions and its easier to use a 
> bool-variable than semaphore->bla().

I guess so. Can you always be sure that writing to word-sized variables
is atomic on SMP systems?

Although if you only check for 0 or not 0 I guess it doesn't matter.


--ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20070707/8e379587/attachment.pgp>


More information about the Linux-audio-dev mailing list