summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/uipc_mbuf.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index 567fd81..b033b1e 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94
- * $Id: uipc_mbuf.c,v 1.33 1997/12/28 01:01:13 bde Exp $
+ * $Id: uipc_mbuf.c,v 1.34 1998/02/20 13:37:38 bde Exp $
*/
#include <sys/param.h>
@@ -255,10 +255,14 @@ m_retry(i, t)
#define m_retry(i, t) (struct mbuf *)0
MGET(m, i, t);
#undef m_retry
- if (m != NULL)
+ if (m != NULL) {
mbstat.m_wait++;
- else
- mbstat.m_drops++;
+ } else {
+ if (i == M_DONTWAIT)
+ mbstat.m_drops++;
+ else
+ panic("Out of mbuf clusters");
+ }
return (m);
}
@@ -275,10 +279,14 @@ m_retryhdr(i, t)
#define m_retryhdr(i, t) (struct mbuf *)0
MGETHDR(m, i, t);
#undef m_retryhdr
- if (m != NULL)
+ if (m != NULL) {
mbstat.m_wait++;
- else
- mbstat.m_drops++;
+ } else {
+ if (i == M_DONTWAIT)
+ mbstat.m_drops++;
+ else
+ panic("Out of mbuf clusters");
+ }
return (m);
}
OpenPOWER on IntegriCloud