Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern Handle the ERESTART case from pool_grow()



details:   https://anonhg.NetBSD.org/src/rev/5f9b7523c42d
branches:  trunk
changeset: 827705:5f9b7523c42d
user:      christos <christos%NetBSD.org@localhost>
date:      Thu Nov 09 19:34:17 2017 +0000

description:
Handle the ERESTART case from pool_grow()

diffstat:

 sys/kern/subr_pool.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (36 lines):

diff -r e123563b8849 -r 5f9b7523c42d sys/kern/subr_pool.c
--- a/sys/kern/subr_pool.c      Thu Nov 09 15:56:56 2017 +0000
+++ b/sys/kern/subr_pool.c      Thu Nov 09 19:34:17 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: subr_pool.c,v 1.213 2017/11/09 15:53:40 christos Exp $ */
+/*     $NetBSD: subr_pool.c,v 1.214 2017/11/09 19:34:17 christos Exp $ */
 
 /*-
  * Copyright (c) 1997, 1999, 2000, 2002, 2007, 2008, 2010, 2014, 2015
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.213 2017/11/09 15:53:40 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.214 2017/11/09 19:34:17 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -1128,6 +1128,8 @@
        while (newpages-- > 0) {
                error = pool_grow(pp, PR_NOWAIT);
                if (error) {
+                       if (error == ERESTART)
+                               continue;
                        break;
                }
                pp->pr_minpages++;
@@ -1240,6 +1242,8 @@
        while (POOL_NEEDS_CATCHUP(pp)) {
                error = pool_grow(pp, PR_NOWAIT);
                if (error) {
+                       if (error == ERESTART)
+                               continue;
                        break;
                }
        }



Home | Main Index | Thread Index | Old Index