Call m_reclaim() in MCLGET() if initial pool allocation fails. Accidentally

removed when mbuf clusters were pool'ified.
This commit is contained in:
thorpej 1998-10-23 22:36:17 +00:00
parent 8a6428e6be
commit d90afeeba0

View File

@ -1,4 +1,4 @@
/* $NetBSD: mbuf.h,v 1.35 1998/09/13 14:46:24 christos Exp $ */ /* $NetBSD: mbuf.h,v 1.36 1998/10/23 22:36:17 thorpej Exp $ */
/*- /*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@ -320,6 +320,12 @@ union mcluster {
MBUFLOCK( \ MBUFLOCK( \
(m)->m_ext.ext_buf = \ (m)->m_ext.ext_buf = \
pool_get(&mclpool, (how) == M_WAIT ? PR_WAITOK : 0); \ pool_get(&mclpool, (how) == M_WAIT ? PR_WAITOK : 0); \
if ((m)->m_ext.ext_buf == NULL) { \
m_reclaim((how)); \
(m)->m_ext.ext_buf = \
pool_get(&mclpool, \
(how) == M_WAIT ? PR_WAITOK : 0); \
} \
); \ ); \
if ((m)->m_ext.ext_buf != NULL) { \ if ((m)->m_ext.ext_buf != NULL) { \
(m)->m_data = (m)->m_ext.ext_buf; \ (m)->m_data = (m)->m_ext.ext_buf; \