X-Git-Url: https://jfr.im/git/irc/quakenet/snircd.git/blobdiff_plain/052b069e1613393c208fa736c856d62601dc6f99..9f8856e99d8fe297de1ddf0cff73dc2ff4900c60:/ircd/msgq.c diff --git a/ircd/msgq.c b/ircd/msgq.c index 7480259..2ff6622 100644 --- a/ircd/msgq.c +++ b/ircd/msgq.c @@ -18,7 +18,7 @@ */ /** @file * @brief Outbound message queue implementation. - * @version $Id: msgq.c,v 1.12 2005/05/10 03:43:08 entrope Exp $ + * @version $Id: msgq.c,v 1.12.2.1 2006/03/14 03:56:58 entrope Exp $ */ #include "config.h" @@ -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);