[PD-dev] Re: [ pure-data-Bugs-1518030 ] subpatch clearing itself crashes Pd
Frank Barknecht
fbar at footils.org
Sun Feb 11 15:56:29 CET 2007
Hallo,
I don't like <textarea> so I'll just post only here for now.
SourceForge.net hat gesagt: // SourceForge.net wrote:
> Comment By: Matteo Sisti Sette (sistisette)
> Date: 2007-02-11 15:24
>
> Message:
> Logged In: YES
> user_id=1709568
> Originator: NO
>
> >But now we have a problem, if a message tries to commit suicide and
> >thus deletes the node that according to Pd's language rules and logic
> >needs to be evaluated again, after the "depth first tree" has come to
> >an end!
>
> When the moments come to evaluate the "second branch" of a node which has
> been deleted as a result of the execution of its first branch, the object
> no more exists, so the most logical action to take (seems to me) would be
> just not to execute the pending "future branches". The tree does finish.
> Another acceptable option would be to output an error message that says
> that the message tree can't be completed. Indeed that would be the same
> thing, with or without an error message in the output.
>
> The part you quote from the manual says that the message tree has to come
> to an end. It does not say that nothing must change until it comes to an
> end, as far as i see. You are adding that part. You may be correct, but
> that's not a consequence of the depth first message passing.
> Neither the self-clearing patch nor my "find f,cut" example try to
> generate a tree that does not end.
>
> Not to mention that in theese examples the branch that ends up with the
> deletion of the message is the last branch, so the evaluation of the next
> branch would be just to detect that it didn't exist anyway.
>
>
> >To be able to do this Pd has to save the current branching node
> >somehow to come back there later, when the first branch has finished.
>
> Yeah. It is the "somehow" that has been chosen that does not take into
> account the possibility of dinamically deleting objects.
That's not true at all: You can delete objects just fine in almost
every way possible, you just aren't allowed to initiate this deletion
from the object to be deleted itself without [delay], because this
would create a loop and a "chicken-and-egg" problem because the
message that initiates the suicide happens at the same logical time as
the suicide. This is a tree that does not end because it is cyclic.
Ciao
--
Frank Barknecht _ ______footils.org_ __goto10.org__
More information about the Pd-dev
mailing list