Loading fs/splice.c +12 −4 Original line number Diff line number Diff line Loading @@ -187,6 +187,8 @@ static ssize_t move_to_pipe(struct inode *inode, struct page **pages, } if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible_sync(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN); Loading @@ -201,6 +203,8 @@ static ssize_t move_to_pipe(struct inode *inode, struct page **pages, mutex_unlock(PIPE_MUTEX(*inode)); if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN); } Loading Loading @@ -600,6 +604,8 @@ static ssize_t move_from_pipe(struct inode *inode, struct file *out, } if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible_sync(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_WRITERS(*inode),SIGIO,POLL_OUT); do_wakeup = 0; Loading @@ -611,6 +617,8 @@ static ssize_t move_from_pipe(struct inode *inode, struct file *out, mutex_unlock(PIPE_MUTEX(*inode)); if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_WRITERS(*inode), SIGIO, POLL_OUT); } Loading Loading
fs/splice.c +12 −4 Original line number Diff line number Diff line Loading @@ -187,6 +187,8 @@ static ssize_t move_to_pipe(struct inode *inode, struct page **pages, } if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible_sync(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN); Loading @@ -201,6 +203,8 @@ static ssize_t move_to_pipe(struct inode *inode, struct page **pages, mutex_unlock(PIPE_MUTEX(*inode)); if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_READERS(*inode), SIGIO, POLL_IN); } Loading Loading @@ -600,6 +604,8 @@ static ssize_t move_from_pipe(struct inode *inode, struct file *out, } if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible_sync(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_WRITERS(*inode),SIGIO,POLL_OUT); do_wakeup = 0; Loading @@ -611,6 +617,8 @@ static ssize_t move_from_pipe(struct inode *inode, struct file *out, mutex_unlock(PIPE_MUTEX(*inode)); if (do_wakeup) { smp_mb(); if (waitqueue_active(PIPE_WAIT(*inode))) wake_up_interruptible(PIPE_WAIT(*inode)); kill_fasync(PIPE_FASYNC_WRITERS(*inode), SIGIO, POLL_OUT); } Loading