struct ctdb_context *ctdb;
struct ctdb_partial partial; /* partial input packet */
struct ctdb_queue_pkt *out_queue;
+ uint32_t out_queue_length;
struct fd_event *fde;
int fd;
size_t alignment;
int ctdb_queue_length(struct ctdb_queue *queue)
{
- int i;
- struct ctdb_queue_pkt *pkt;
-
- for(i=0, pkt=queue->out_queue;pkt;i++,pkt=pkt->next);
-
- return i;
+ return queue->out_queue_length;
}
/*
if (pkt->length != pkt->full_length) {
/* partial packet sent - we have to drop it */
DLIST_REMOVE(queue->out_queue, pkt);
+ queue->out_queue_length--;
talloc_free(pkt);
}
talloc_free(queue->fde);
}
DLIST_REMOVE(queue->out_queue, pkt);
+ queue->out_queue_length--;
talloc_free(pkt);
}
}
DLIST_ADD_END(queue->out_queue, pkt, struct ctdb_queue_pkt *);
+ queue->out_queue_length++;
if (queue->ctdb->tunable.verbose_memory_names != 0) {
struct ctdb_req_header *hdr = (struct ctdb_req_header *)pkt->data;