Check out the following discussion on GitHub: https://github.com/pure-data/pure-data/pull/604
TL;DR: if you unbind a symbol from a receiver while sending to the symbol, Pd can crash because you modify the bind list while iterating over it.
Personally, I've been using [iem_receive] in some projects and didn't run into problems, but only because I avoid the case described above. Note that the same problem exists with the iemgui objects where you can set the receive symbol dynamically.
and why is it not dangerous to change the receiver in the signal domain ?
In the case of [r~], it is [s~] which is bound to a symbol, that's why you can change the symbol of [r~] but not of [s~]. With [throw~] and [catch~] it's the other way round.
would you say, it's "saver" to do dynamic patching if a [receive] has to be flexible ? (i.e. create and destroy vanilla [recieve] objects in a subpatch when they need to have another address)
Dynamically destroying objects is even more dangerous ;-)
Christof
On 25.03.2020 20:46, oliver wrote:
IOhannes m zmölnig wrote:
changing the receiver is dangerous (as in: could crash your system).
really ? that's (bad) news to me. how so ? why could that crash a system ? and why is it not dangerous to change the receiver in the signal domain ?
would you say, it's "saver" to do dynamic patching if a [receive] has to be flexible ? (i.e. create and destroy vanilla [recieve] objects in a subpatch when they need to have another address)
(atm i use [iem_receive] quite a lot in my patches ...)
thanks for any insight
oliver
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list