diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2014-09-07 05:44:14 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2014-09-07 05:44:14 +0000 |
| commit | 9e739a5a05a488ed814b61b2de1e9368632d6058 (patch) | |
| tree | 1181f50bed6508a83d057b5111d9ef157a8aa135 /sys/kern/uipc_socket.c | |
| parent | 89a4f450d725936ff9d23f44e1f6f20568fdcadb (diff) | |
Notes
Diffstat (limited to 'sys/kern/uipc_socket.c')
| -rw-r--r-- | sys/kern/uipc_socket.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index c6c31528b7e5..8a8f957169f1 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -3245,6 +3245,7 @@ static int filt_soread(struct knote *kn, long hint) { struct socket *so; + int ret; so = kn->kn_fp->f_data; SOCKBUF_LOCK_ASSERT(&so->so_rcv); @@ -3267,11 +3268,12 @@ filt_soread(struct knote *kn, long hint) CURVNET_SET(so->so_vnet); if (V_socket_hhh[HHOOK_FILT_SOREAD]->hhh_nhooks > 0) - /* This hook returning non-zero indicates an event, not error */ - return (hhook_run_socket(so, NULL, HHOOK_FILT_SOREAD)); + ret = hhook_run_socket(so, NULL, HHOOK_FILT_SOREAD); + else + ret = 0; CURVNET_RESTORE(); - - return (0); + + return (ret); } static void |
