Check so_error in filt_so{read|write} in order to detect UDP errors.
PR: 21601
This commit is contained in:
parent
63743cbd8c
commit
d5aa12349f
@ -1563,6 +1563,8 @@ filt_soread(struct knote *kn, long hint)
|
||||
kn->kn_flags |= EV_EOF;
|
||||
return (1);
|
||||
}
|
||||
if (so->so_error) /* temporary udp error */
|
||||
return (1);
|
||||
return (kn->kn_data >= so->so_rcv.sb_lowat);
|
||||
}
|
||||
|
||||
@ -1601,6 +1603,8 @@ filt_sowrite(struct knote *kn, long hint)
|
||||
kn->kn_flags |= EV_EOF;
|
||||
return (1);
|
||||
}
|
||||
if (so->so_error) /* temporary udp error */
|
||||
return (1);
|
||||
if (((so->so_state & SS_ISCONNECTED) == 0) &&
|
||||
(so->so_proto->pr_flags & PR_CONNREQUIRED))
|
||||
return (0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user