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