[PD] multi-threaded dsp extern?

David Medine dmedine at ucsd.edu
Tue Jul 25 16:19:45 CEST 2017


Dear all,

I am dusting off an unfinished project, so I may have asked this 
question already, but I've completely forgotten about it by now.

I am trying to develop a Pd dsp extern that has a listen thread in it. I 
am streaming data from another application and copying it into a buffer 
in the listen thread. The tilde_perform function (the function housing 
the dsp loop) simply reads out of that buffer.

The index of the read point in the buffer is updated in the listen 
(background) thread.

There should never be a race condition because I only read once and 
write once. The data might be wrong, but there should always be 
something available to read.

I have tried doing this with and without mutex locking (on the listen 
thread, the dsp function, and both) but it seems to crash no matter 
what. I have done this successfully with non-dsp externs, and if I don't 
do anything in the listen thread except sleep, there is no crash. Any 
clues as to how to make this work?

Cheers,

David




More information about the Pd-list mailing list