You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If multiple receivers are connected to the same signal from the same sender, and one of those receivers disconnects itself upon receiving the signal, this will the next receiver to not be called.
I suspect that the problem in in dispatcher.send(), where the generator used in the for loop skips the (i)'th entry if the (i-1)'th was removed.
def send(signal=Any, sender=Anonymous, *arguments, **named):
# Call each receiver with whatever arguments it can accept.
# Return a list of tuple pairs [(receiver, response), ... ].
responses = []
for receiver in liveReceivers(getAllReceivers(sender, signal)): # <---- This line skips an entry if a receiver is removed within the loop
response = robustapply.robustApply(
receiver,
signal=signal,
sender=sender,
*arguments,
**named
)
responses.append((receiver, response))
return responses
The text was updated successfully, but these errors were encountered:
If multiple receivers are connected to the same signal from the same sender, and one of those receivers disconnects itself upon receiving the signal, this will the next receiver to not be called.
Example:
Expected output:
Actual Output:
I suspect that the problem in in dispatcher.send(), where the generator used in the for loop skips the (i)'th entry if the (i-1)'th was removed.
The text was updated successfully, but these errors were encountered: