static void pending_members_remove(struct member *mem)
{
+ ast_debug(3, "Removed %s from pending_members\n", mem->membername);
ao2_find(pending_members, mem, OBJ_POINTER | OBJ_NODATA | OBJ_UNLINK);
}
{
o->stillgoing = 0;
ast_hangup(o->chan);
+ pending_members_remove(o->member);
o->chan = NULL;
}
* If not found add it to the container so another queue
* won't attempt to call this member at the same time.
*/
+ ast_debug(3, "Add %s to pending_members\n", call->member->membername);
ao2_link(pending_members, call->member);
ao2_unlock(pending_members);
/* Again, keep going even if there's an error */
ast_verb(3, "Couldn't call %s\n", tmp->interface);
do_hang(tmp);
- pending_members_remove(tmp->member);
++*busies;
return 0;
}