提交 d19e9974 编写于 作者: L Linus Torvalds

Simplify fifo_open() locking logic

We don't do interruptible waits for the pipe mutex anywhere else any
more either, so don't do it in fifo_open() either.
Acked-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 d11d9b2d
...@@ -34,10 +34,7 @@ static int fifo_open(struct inode *inode, struct file *filp) ...@@ -34,10 +34,7 @@ static int fifo_open(struct inode *inode, struct file *filp)
{ {
int ret; int ret;
ret = -ERESTARTSYS; mutex_lock(PIPE_MUTEX(*inode));
if (mutex_lock_interruptible(PIPE_MUTEX(*inode)))
goto err_nolock_nocleanup;
if (!inode->i_pipe) { if (!inode->i_pipe) {
ret = -ENOMEM; ret = -ENOMEM;
if(!pipe_new(inode)) if(!pipe_new(inode))
...@@ -140,8 +137,6 @@ static int fifo_open(struct inode *inode, struct file *filp) ...@@ -140,8 +137,6 @@ static int fifo_open(struct inode *inode, struct file *filp)
err_nocleanup: err_nocleanup:
mutex_unlock(PIPE_MUTEX(*inode)); mutex_unlock(PIPE_MUTEX(*inode));
err_nolock_nocleanup:
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册