spacepaste

diff -r bae7d61d060c pypy/interpreter/executioncontext.py
a/pypy/interpreter/executioncontext.py [Mon Apr 23 14:38:43 2018 +0200]
b/pypy/interpreter/executioncontext.py [Mon Apr 23 15:02:45 2018 +0200]
491 491 # 'action.fire()' happens to be called any time before
492 492 # the corresponding perform(), the fire() has no
493 493 # effect---which is the effect we want, because
494 # perform() will be called anyway.
494 # perform() will be called anyway. All such pending
495 # actions with _fired == True are still inside the old
496 # chained list. As soon as we reset _fired to False,
497 # we also reset _next to None and we are ready for
498 # another fire().
495 499 while action is not None:
500 next_action = action._next
501 action._next = None
496 502 action._fired = False
497 503 action.perform(ec, frame)
498 action._next, action = None, action._next
504 action = next_action
499 505
500 506 self.action_dispatcher = action_dispatcher
501 507