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:
parent
7b81254069
commit
b6ff38065f
1 changed files with 1 additions and 1 deletions
|
@ -568,7 +568,7 @@ struct filp *f;
|
||||||
/* If the inode being closed is a pipe, release everyone hanging on it. */
|
/* If the inode being closed is a pipe, release everyone hanging on it. */
|
||||||
if (S_ISFIFO(vp->v_mode)) {
|
if (S_ISFIFO(vp->v_mode)) {
|
||||||
rw = (f->filp_mode & R_BIT ? WRITE : READ);
|
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. */
|
/* If a write has been done, the inode is already marked as DIRTY. */
|
||||||
|
|
Loading…
Reference in a new issue