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) | |
download | src-9e739a5a05a488ed814b61b2de1e9368632d6058.tar.gz src-9e739a5a05a488ed814b61b2de1e9368632d6058.zip |
Fix for r271182.
Submitted by: mjg
Pointy hat to: me, submitter and everyone who urged me to commit
Notes
Notes:
svn path=/head/; revision=271216
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 |