diff options
Diffstat (limited to 'net/socket.c')
-rw-r--r-- | net/socket.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/socket.c b/net/socket.c index aeeab388cc38..9ebca5c695d6 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -1070,20 +1070,19 @@ int sock_wake_async(struct socket *sock, int how, int band) | |||
1070 | if (!sock || !sock->fasync_list) | 1070 | if (!sock || !sock->fasync_list) |
1071 | return -1; | 1071 | return -1; |
1072 | switch (how) { | 1072 | switch (how) { |
1073 | case 1: | 1073 | case SOCK_WAKE_WAITD: |
1074 | |||
1075 | if (test_bit(SOCK_ASYNC_WAITDATA, &sock->flags)) | 1074 | if (test_bit(SOCK_ASYNC_WAITDATA, &sock->flags)) |
1076 | break; | 1075 | break; |
1077 | goto call_kill; | 1076 | goto call_kill; |
1078 | case 2: | 1077 | case SOCK_WAKE_SPACE: |
1079 | if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sock->flags)) | 1078 | if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sock->flags)) |
1080 | break; | 1079 | break; |
1081 | /* fall through */ | 1080 | /* fall through */ |
1082 | case 0: | 1081 | case SOCK_WAKE_IO: |
1083 | call_kill: | 1082 | call_kill: |
1084 | __kill_fasync(sock->fasync_list, SIGIO, band); | 1083 | __kill_fasync(sock->fasync_list, SIGIO, band); |
1085 | break; | 1084 | break; |
1086 | case 3: | 1085 | case SOCK_WAKE_URG: |
1087 | __kill_fasync(sock->fasync_list, SIGURG, band); | 1086 | __kill_fasync(sock->fasync_list, SIGURG, band); |
1088 | } | 1087 | } |
1089 | return 0; | 1088 | return 0; |