hi David (and the devs),
sure this issue is well known...
...I mean, this is the same ``dangling pointers'' horror discussed on several occasions, like selfmod crashes, settable receive, etc. For a clear example, try the attached patch.
I think the main headache over how to deal with this might be that there are so many different ways, each having its weaknesses -- using t_pdsmart* instead of t_pd* (just a joke); locking (or deferring any modification to) `bindlisted' data; or simply terminating bindlist traversal after any bind/unbind action, i.e. if 'dirty' flag is set ('inuse' flag would be needed too).
Who is going to decide?
Krzysztof
David Sabine wrote: ...
on the flip side, i can reliably crash pd on my win2k machine here by clicking a few times on the open message box so that i have a few duplicate x.pd windows open, then hitting the close message box. is this a known issue? here are my two patches:
...
#X msg 43 82 ; pd-x.pd menuclose; #X msg 45 35 ; pd open x.pd c:/pd/joschi/;
#N canvas 224 125 561 331 12; #N canvas 0 0 450 300 graph1 0; #X array t 100 float 0; #X coords 0 1 99 -1 200 140 1; #X restore 51 28 graph; #N canvas 0 0 450 300 graph1 0; #X array t 100 float 0; #X coords 0 1 99 -1 200 140 1; #X restore 292 28 graph; #X msg 56 240 ; t rename catch-me-if-you-can;