git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8038 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-04-05 03:20:06 +00:00
parent a06997ee9a
commit 6e99d55362

View File

@ -117,7 +117,7 @@ static int node_consumer_wait_count(fifo_node_t *node)
static void node_remove_uuid(fifo_node_t *node, const char *uuid) static void node_remove_uuid(fifo_node_t *node, const char *uuid)
{ {
int i, len = 0; int i, len = 0, done = 0;
void *pop = NULL; void *pop = NULL;
for (i = 0; i < MAX_PRI; i++) { for (i = 0; i < MAX_PRI; i++) {
@ -126,18 +126,17 @@ static void node_remove_uuid(fifo_node_t *node, const char *uuid)
} }
while(len) { while(len) {
if (switch_queue_trypop(node->fifo_list[i], &pop) == SWITCH_STATUS_SUCCESS && pop) { if (switch_queue_trypop(node->fifo_list[i], &pop) == SWITCH_STATUS_SUCCESS && pop) {
if (!strcmp((char *)pop, uuid)) { if (!done && !strcmp((char *)pop, uuid)) {
free(pop); free(pop);
goto end; done++;
} } else {
switch_queue_push(node->fifo_list[i], pop); switch_queue_push(node->fifo_list[i], pop);
} }
}
len--; len--;
} }
} }
end:
if (!node_consumer_wait_count(node)) { if (!node_consumer_wait_count(node)) {
node->start_waiting = 0; node->start_waiting = 0;
} }