[PD-dev] setting receive

Krzysztof Czaja czaja at chopin.edu.pl
Tue Sep 10 19:58:18 CEST 2002


most probably I am overlooking something, but if not, there seem
to be two easy ways:

1. counting 'outlet_' calls being executed, and handling the 'set'
message only if the counter is 0;

2. calling clock_delay(..., 0) in a 'set' method, and performing
the un/binding in a separate event.

One other thing -- if Pd/receive is to be compatible with
max/receive, then it is only the object *without an argument* to
get its inlet, and handle the 'set' message.  So, anyway, there
would be *no overhead* in case of the objects with an argument
(all that are in use now).

A sketch showing an easy way 2. is in the attachment.


Miller Puckette wrote:
 > I don't think it's enough simply to insist that "set" messages come through
 > the inlet; there could still be people traversing either the new or
 > the old symbol somewhere up the stack.
 > I think the only solution would be somehow to detect reentrancy and refuse
 > to bind or unbind something to a symbol reentrantly.  I just can't think of a
 > really efficient way to do this...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: receive.c
Type: text/x-csrc
Size: 2800 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20020910/f20de49d/attachment.c>

More information about the Pd-dev mailing list