KQueue 0-length UDP packet

Fedor Indutny fedor at indutny.com
Sat Aug 2 09:40:05 UTC 2014


I'm trying to figure out, why this code:


Which basically sends a 0-length UDP packet to a server and polls
kqueue events on the server fd.

Return 1 kevent on FreeBSD, and blocks indefinitely without
returning any events on OSX.

So far I could see that FreeBSD and OSX are treating NOTE_LOWAT


FreeBSD's NOTE_LOWAT is overriding SO_RCVLOWAT, and OSX is using
SO_RVCLOWAT as a minimum value. But, since NOTE_LOWAT is not
involved here by default, I'm failing to see where exactly this
event could pass through kqueue filter.

Could anyone with UDP and/or KQueue implementation knowledge
share some insights with me?

Thank you very much!

(NOTE: Duplicate, first email wasn't posted, because I wasn't subscribed to
the ML)

More information about the freebsd-current mailing list