Re: [Faudiostream-devel] Thread safety of the llvm-dsp.h functions

2016-06-13 Thread Stéphane Letz
Thanks. - a "lock strategy" is done in the sense that all functions of the API are wrapped with a mutex access - but this mutex is actually allocated in startMTDSPFactories and so the API is MT protected only if this startMTDSPFactories is called at the beginning of the libfaust usage. Stépha

Re: [Faudiostream-devel] Thread safety of the llvm-dsp.h functions

2016-06-13 Thread Kjetil Matheussen
Thank you. Unfortunately, (in this situation at least), I have not been able to make the program crash or behave strangely without any custom locks or calling startMTDSPFactories first. (I think it requires some very fast mouse maneuvers to call these functions simultaneously). So I can't tell ver

Re: [Faudiostream-devel] Thread safety of the llvm-dsp.h functions

2016-06-13 Thread Stéphane Letz
This internal lock is « activated » by the external API startMTDSPFactories/stopMTDSPFactories : this was added when we suspected multi-thread access to the libfaust API in Max/MSP faustgen~, but has not been extensively tested since. I would be interested if you can used those startMTDSPFact

[Faudiostream-devel] Thread safety of the llvm-dsp.h functions

2016-06-13 Thread Kjetil Matheussen
Hi, I'm calling functions to create and destroy instances of llvm_dsp_factory and llvm_dsp from multiple threads simultaneously, and I have used a lock to protect access to these calls. But when I look at the source code in faust (llvm_dsp_aux.cpp), these functions are already protected by a lock