]> Zhao Yanbai Git Server - minix.git/commitdiff
VFS: release what can be released
authorThomas Veerman <thomas@minix3.org>
Mon, 23 Apr 2012 13:33:43 +0000 (13:33 +0000)
committerThomas Veerman <thomas@minix3.org>
Fri, 27 Apr 2012 08:51:02 +0000 (08:51 +0000)
Only attempt to release blocked processes that are blocked. There is
no use in trying to find more blocked processes than we know that are
blocked (on a pipe).

servers/vfs/filedes.c

index 59a66e2fca4ae61147bfe467233d3811882e51c3..6e1ce8c305c5965dd2681cc9e36ce6525f2fc91e 100644 (file)
@@ -568,7 +568,7 @@ struct filp *f;
   /* If the inode being closed is a pipe, release everyone hanging on it. */
   if (S_ISFIFO(vp->v_mode)) {
        rw = (f->filp_mode & R_BIT ? WRITE : READ);
-       release(vp, rw, NR_PROCS);
+       release(vp, rw, susp_count);
   }
 
   /* If a write has been done, the inode is already marked as DIRTY. */