aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2014-09-07 05:44:14 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2014-09-07 05:44:14 +0000
commit9e739a5a05a488ed814b61b2de1e9368632d6058 (patch)
tree1181f50bed6508a83d057b5111d9ef157a8aa135 /sys/kern/uipc_socket.c
parent89a4f450d725936ff9d23f44e1f6f20568fdcadb (diff)
downloadsrc-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.c10
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