summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_clist.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-03-05 16:45:01 +0000
committerbde <bde@FreeBSD.org>1997-03-05 16:45:01 +0000
commite423a3a2761e17fb01665862e3f430a13e8ea83e (patch)
tree0d65853290cc90d3fcd0ff2aa68643cea80c3cbb /sys/kern/subr_clist.c
parent6a14cbe8cc8482b8045354c49cc618596d251b8f (diff)
downloadFreeBSD-src-e423a3a2761e17fb01665862e3f430a13e8ea83e.zip
FreeBSD-src-e423a3a2761e17fb01665862e3f430a13e8ea83e.tar.gz
Try a no-wait malloc first in clist_alloc_cblocks(). If this fails, then
complain and blunder on. Should be in 2.2, preferably with a better fix.
Diffstat (limited to 'sys/kern/subr_clist.c')
-rw-r--r--sys/kern/subr_clist.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/kern/subr_clist.c b/sys/kern/subr_clist.c
index 7203e02..24091f6 100644
--- a/sys/kern/subr_clist.c
+++ b/sys/kern/subr_clist.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: tty_subr.c,v 1.25 1997/02/22 09:39:26 peter Exp $
*/
/*
@@ -131,7 +131,12 @@ cblock_alloc_cblocks(number)
struct cblock *cbp;
for (i = 0; i < number; ++i) {
- cbp = malloc(sizeof *cbp, M_TTYS, M_WAITOK);
+ cbp = malloc(sizeof *cbp, M_TTYS, M_NOWAIT);
+ if (cbp == NULL) {
+ printf(
+"clist_alloc_cblocks: M_NOWAIT malloc failed, trying M_WAITOK\n");
+ cbp = malloc(sizeof *cbp, M_TTYS, M_WAITOK);
+ }
/*
* Freed cblocks have zero quotes and garbage elsewhere.
* Set the may-have-quote bit to force zeroing the quotes.
OpenPOWER on IntegriCloud