From owner-freebsd-current Wed Sep 6 00:11:07 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.freebsd.org (8.6.11/8.6.6) id AAA03892 for current-outgoing; Wed, 6 Sep 1995 00:11:07 -0700 Received: (from dyson@localhost) by freefall.freebsd.org (8.6.11/8.6.6) id AAA03885 for current@freebsd.org; Wed, 6 Sep 1995 00:11:07 -0700 Date: Wed, 6 Sep 1995 00:11:07 -0700 From: John Dyson Message-Id: <199509060711.AAA03885@freefall.freebsd.org> To: current@freebsd.org Subject: This might be the Sig-11 fix Sender: current-owner@freebsd.org Precedence: bulk Following is a patch as a result of a code review. I was able to reproduce an abort of ctwm before the patch, and now have yet to have a crash.. I am posting this for people that dont have quick access to CVS or CTM. Index: swap_pager.c =================================================================== RCS file: /home/ncvs/src/sys/vm/swap_pager.c,v retrieving revision 1.44 diff -C4 -r1.44 swap_pager.c *** 1.44 1995/09/04 04:44:24 --- swap_pager.c 1995/09/06 07:07:04 *************** *** 727,735 **** if (swb->swb_valid & (1 << ix)) { int tix; if (before) { for(tix = ix - 1; tix >= 0; --tix) { ! if ((swb->swb_block[tix] - (ix - tix) * (PAGE_SIZE/DEV_BSIZE)) != swb->swb_block[ix]) break; (*before)++; --- 727,735 ---- if (swb->swb_valid & (1 << ix)) { int tix; if (before) { for(tix = ix - 1; tix >= 0; --tix) { ! if ((swb->swb_block[tix] + (ix - tix) * (PAGE_SIZE/DEV_BSIZE)) != swb->swb_block[ix]) break; (*before)++; *************** *** 737,745 **** } if (after) { for(tix = ix + 1; tix < SWB_NPAGES; tix++) { ! if ((swb->swb_block[tix] + (tix - ix) * (PAGE_SIZE/DEV_BSIZE)) != swb->swb_block[ix]) break; (*after)++; --- 737,745 ---- } if (after) { for(tix = ix + 1; tix < SWB_NPAGES; tix++) { ! if ((swb->swb_block[tix] - (tix - ix) * (PAGE_SIZE/DEV_BSIZE)) != swb->swb_block[ix]) break; (*after)++;