summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2014-09-07 05:44:14 +0000
committerglebius <glebius@FreeBSD.org>2014-09-07 05:44:14 +0000
commitbd6b462b17463bbec1c8401d1b4a29dc8332c04b (patch)
tree1181f50bed6508a83d057b5111d9ef157a8aa135 /sys/kern
parente5f8f27ad74b6c82d3e5b272e369673a9521431c (diff)
downloadFreeBSD-src-bd6b462b17463bbec1c8401d1b4a29dc8332c04b.zip
FreeBSD-src-bd6b462b17463bbec1c8401d1b4a29dc8332c04b.tar.gz
Fix for r271182.
Submitted by: mjg Pointy hat to: me, submitter and everyone who urged me to commit
Diffstat (limited to 'sys/kern')
-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 c6c3152..8a8f957 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
OpenPOWER on IntegriCloud