def check_stack_complete(cnxt, stack, current_traversal, sender_id, deps, is_update):
 roots = set(deps.roots())
 if ((sender_id, is_update) not in roots):
  return
 def mark_complete(stack_id, data):
  stack.mark_complete()
 sender_key = (sender_id, is_update)
 sync_point.sync(cnxt, stack.id, current_traversal, True, mark_complete, roots, {sender_key: None})

def check_stack_complete ( cnxt , stack , current_traversal , sender_id , deps , is_update ) : roots = set ( deps . roots ( ) ) if ( ( sender_id , is_update ) not in roots ) : return def mark_complete ( stack_id , data ) : stack . mark_complete ( ) sender_key = ( sender_id , is_update ) sync_point . sync ( cnxt , stack . id , current_traversal , True , mark_complete , roots , { sender_key : None } )
mark the stack complete if the update is complete .