[PD] reload a patch

Mathieu Bouchard matju at artengine.ca
Wed Aug 30 04:54:55 CEST 2006


On Wed, 30 Aug 2006, Max Neupert wrote:

> now it does. all-though it crashes my pd completely if i try to close 
> while there are more than one with the same name opened. this is 
> probably not a feature.

Pd's symbol-table allows only one receiver per symbol. On top of this, 
pd_bind and pd_unbind implement a kind of splitter using a hidden 
[bindlist] object, which is only ever used internally, and only when 
there's more than one receiver per receive-symbol.

When you close several patches through that symbol, the message is handled 
a method in [bindlist], which terminates only when all receivers are 
finished handling the message.

When a canvas closes, it removes itself from the receivers list using 
pd_unbind. When the number of receivers goes from 2 to 1, pd_unbind 
deletes the [bindlist] object. At this point, [bindlist]'s method has not 
finished running, which is what causes the crash.

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada


More information about the Pd-list mailing list