diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/sock.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index d2790e2ca00a..4a4094b93d07 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -52,6 +52,9 @@ #include <asm/atomic.h> #include <net/dst.h> #include <net/scm.h> +#include <linux/fs.h> +#include <linux/file.h> +#include <linux/fcblist.h> /* * This structure really needs to be cleaned up. @@ -766,8 +769,13 @@ static inline unsigned long sock_wspace(struct sock *sk) static inline void sk_wake_async(struct sock *sk, int how, int band) { - if (sk->socket && sk->socket->fasync_list) - sock_wake_async(sk->socket, how, band); + if (sk->socket) { + if (sk->socket->file) + file_send_notify(sk->socket->file, ion_band_table[band - POLL_IN], + poll_band_table[band - POLL_IN]); + if (sk->socket->fasync_list) + sock_wake_async(sk->socket, how, band); + } } #define SOCK_MIN_SNDBUF 2048 |
