summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pager.c
diff options
context:
space:
mode:
authormckay <mckay@FreeBSD.org>1999-07-05 12:50:54 +0000
committermckay <mckay@FreeBSD.org>1999-07-05 12:50:54 +0000
commit4eda78adf207703a28dce1d83eccd1f5c43d3249 (patch)
treed64e1498cb0025d5f824c84721ff7389f9a58162 /sys/vm/vm_pager.c
parentd20b3b092821e3562a5d044181e5c7829276dc91 (diff)
downloadFreeBSD-src-4eda78adf207703a28dce1d83eccd1f5c43d3249.zip
FreeBSD-src-4eda78adf207703a28dce1d83eccd1f5c43d3249.tar.gz
Reformat previous fix to remove an uglier than average goto.
Looked OK to: dg
Diffstat (limited to 'sys/vm/vm_pager.c')
-rw-r--r--sys/vm/vm_pager.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c
index 1895d4f..f4639e5 100644
--- a/sys/vm/vm_pager.c
+++ b/sys/vm/vm_pager.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_pager.c,v 1.49 1999/06/27 11:44:22 peter Exp $
+ * $Id: vm_pager.c,v 1.50 1999/07/04 00:25:38 mckusick Exp $
*/
/*
@@ -377,18 +377,20 @@ getpbuf(pfreecnt)
s = splvm();
-retry:
- if (pfreecnt) {
- while (*pfreecnt == 0) {
- tsleep(pfreecnt, PVM, "wswbuf0", 0);
+ for (;;) {
+ if (pfreecnt) {
+ while (*pfreecnt == 0) {
+ tsleep(pfreecnt, PVM, "wswbuf0", 0);
+ }
}
- }
- /* get a bp from the swap buffer header pool */
- while ((bp = TAILQ_FIRST(&bswlist)) == NULL) {
+ /* get a bp from the swap buffer header pool */
+ if ((bp = TAILQ_FIRST(&bswlist)) != NULL)
+ break;
+
bswneeded = 1;
tsleep(&bswneeded, PVM, "wswbuf1", 0);
- goto retry; /* loop in case someone else grabbed one */
+ /* loop in case someone else grabbed one */
}
TAILQ_REMOVE(&bswlist, bp, b_freelist);
if (pfreecnt)
OpenPOWER on IntegriCloud