VFS: release what can be released

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).
This commit is contained in:
Thomas Veerman 2012-04-23 13:33:43 +00:00
parent 7b81254069
commit b6ff38065f

View 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. */