[PD-dev] broken msgs cause Tcl traces, how to debug it?
Hans-Christoph Steiner
hans at at.or.at
Tue Feb 7 22:09:19 CET 2012
On Feb 7, 2012, at 3:37 PM, Mathieu Bouchard wrote:
> Le 2012-01-23 à 14:00:00, Hans-Christoph Steiner a écrit :
>
>> if {[string index $cmd_from_pd end] eq "\\"} {
>> ::pd_connect::pd_readsocket $cmd_from_pd
>> }
>> if {[catch {uplevel #0 $cmd_from_pd} errorname]} {
>
> This is very wrong, because pd_readsocket calls itself recursively N times, then doesn't return, which causes eval (uplevel) to be run N+1 times on the same chunk of statements.
>
> This may cause «canvas create» to create very many duplicates of canvas items, and such.
>
> Is that right ?
This code has totally changed, check master in pd-extended.git for the current code. The new code fixed this bug, and seems faster than the old code to boot.
.hc
----------------------------------------------------------------------------
"It is convenient to imagine a power beyond us because that means we don't have to examine our own lives.", from "The Idols of Environmentalism", by Curtis White
More information about the Pd-dev
mailing list