X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fmsgq.c;h=379ffae6a873261e63620d17e8b1a81ff8048e80;hb=refs%2Fheads%2Fupstream-ssl;hp=bdf51a1f04e6353c7d45505f3ac75cb6c37fe2bc;hpb=a59a117438efcff1a4d4eecabd23669ab2562172;p=ircu2.10.12-pk.git diff --git a/ircd/msgq.c b/ircd/msgq.c index bdf51a1..379ffae 100644 --- a/ircd/msgq.c +++ b/ircd/msgq.c @@ -359,10 +359,12 @@ msgq_vmake(struct Client *dest, const char *format, va_list vl) } if (!mb) { /* OK, try killing a client */ kill_highest_sendq(0); /* Don't kill any server connections */ + msgq_clear_freembs(); /* Release whatever was just freelisted */ mb = msgq_alloc(0, BUFSIZE); } if (!mb) { /* hmmm... */ kill_highest_sendq(1); /* Try killing a server connection now */ + msgq_clear_freembs(); /* Clear freelist again */ mb = msgq_alloc(0, BUFSIZE); } if (!mb) /* AIEEEE! */ @@ -564,9 +566,10 @@ msgq_count_memory(struct Client *cptr, size_t *msg_alloc, size_t *msgbuf_alloc) /* Data for Msg's is simple, so just send it */ send_reply(cptr, SND_EXPLICIT | RPL_STATSDEBUG, - ":Msgs allocated %d(%zu) used %d(%zu)", MQData.msgs.alloc, - MQData.msgs.alloc * sizeof(struct Msg), MQData.msgs.used, - MQData.msgs.used * sizeof(struct Msg)); + ":Msgs allocated %d(%zu) used %d(%zu) text %zu", + MQData.msgs.alloc, MQData.msgs.alloc * sizeof(struct Msg), + MQData.msgs.used, MQData.msgs.used * sizeof(struct Msg), + MQData.tot_bufsize); /* count_memory() wants to know the total */ *msg_alloc = MQData.msgs.alloc * sizeof(struct Msg);