diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-27 00:14:02 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-27 00:14:02 +0100 |
commit | 8e9d2089723d08d51e66c5eea49253d76e27941e (patch) | |
tree | cf15609d5eeb0c1f3a39231d8ce793d3c8ad0ed0 /net/socket.c | |
parent | Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/k... (diff) | |
parent | Rationalize fasync return values (diff) | |
download | linux-8e9d2089723d08d51e66c5eea49253d76e27941e.tar.xz linux-8e9d2089723d08d51e66c5eea49253d76e27941e.zip |
Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
* 'bkl-removal' of git://git.lwn.net/linux-2.6:
Rationalize fasync return values
Move FASYNC bit handling to f_op->fasync()
Use f_lock to protect f_flags
Rename struct file->f_ep_lock
Diffstat (limited to 'net/socket.c')
-rw-r--r-- | net/socket.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c index 47a3dc074eb0..af0205ff56f2 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1074,6 +1074,13 @@ static int sock_fasync(int fd, struct file *filp, int on) lock_sock(sk); + spin_lock(&filp->f_lock); + if (on) + filp->f_flags |= FASYNC; + else + filp->f_flags &= ~FASYNC; + spin_unlock(&filp->f_lock); + prev = &(sock->fasync_list); for (fa = *prev; fa != NULL; prev = &fa->fa_next, fa = *prev) |