Zero file f_count exactly once (in closef only);
authorMike Karels <karels@ucbvax.Berkeley.EDU>
Sat, 19 Nov 1983 02:04:30 +0000 (18:04 -0800)
committerMike Karels <karels@ucbvax.Berkeley.EDU>
Sat, 19 Nov 1983 02:04:30 +0000 (18:04 -0800)
catch interrupted device close routines so ino_close always returns
to closef

SCCS-vsn: sys/kern/kern_descrip.c 6.3

usr/src/sys/kern/kern_descrip.c

index 6f2a97d..f39bc98 100644 (file)
@@ -1,4 +1,4 @@
-/*     kern_descrip.c  6.2     83/09/25        */
+/*     kern_descrip.c  6.3     83/11/18        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -243,10 +243,10 @@ close()
        pf = (u_char *)&u.u_pofile[uap->i];
        if (*pf & UF_MAPPED)
                munmapfd(uap->i);
        pf = (u_char *)&u.u_pofile[uap->i];
        if (*pf & UF_MAPPED)
                munmapfd(uap->i);
-       closef(fp);
-       /* WHAT IF u.u_error ? */
        u.u_ofile[uap->i] = NULL;
        *pf = 0;
        u.u_ofile[uap->i] = NULL;
        *pf = 0;
+       closef(fp);
+       /* WHAT IF u.u_error ? */
 }
 
 fstat()
 }
 
 fstat()