missing splx causes long periods of running at spl6;
authorSam Leffler <sam@ucbvax.Berkeley.EDU>
Mon, 2 May 1983 10:21:55 +0000 (02:21 -0800)
committerSam Leffler <sam@ucbvax.Berkeley.EDU>
Mon, 2 May 1983 10:21:55 +0000 (02:21 -0800)
from shannon@sun.UUCP

SCCS-vsn: sys/kern/vfs_bio.c 4.43
SCCS-vsn: sys/kern/vfs_cluster.c 4.43

usr/src/sys/kern/vfs_bio.c
usr/src/sys/kern/vfs_cluster.c

index f100093..30bacb7 100644 (file)
@@ -1,4 +1,4 @@
-/*     vfs_bio.c       4.42    83/04/04        */
+/*     vfs_bio.c       4.43    83/05/01        */
 
 #include "../machine/pte.h"
 
 
 #include "../machine/pte.h"
 
@@ -599,6 +599,7 @@ loop:
        if (dp == bfreelist) {          /* no free blocks */
                dp->b_flags |= B_WANTED;
                sleep((caddr_t)dp, PRIBIO+1);
        if (dp == bfreelist) {          /* no free blocks */
                dp->b_flags |= B_WANTED;
                sleep((caddr_t)dp, PRIBIO+1);
+               splx(s);
                goto loop;
        }
        splx(s);
                goto loop;
        }
        splx(s);
index c257aac..0e10a78 100644 (file)
@@ -1,4 +1,4 @@
-/*     vfs_cluster.c   4.42    83/04/04        */
+/*     vfs_cluster.c   4.43    83/05/01        */
 
 #include "../machine/pte.h"
 
 
 #include "../machine/pte.h"
 
@@ -599,6 +599,7 @@ loop:
        if (dp == bfreelist) {          /* no free blocks */
                dp->b_flags |= B_WANTED;
                sleep((caddr_t)dp, PRIBIO+1);
        if (dp == bfreelist) {          /* no free blocks */
                dp->b_flags |= B_WANTED;
                sleep((caddr_t)dp, PRIBIO+1);
+               splx(s);
                goto loop;
        }
        splx(s);
                goto loop;
        }
        splx(s);