Hello! I'm trying to figure out, why this code: https://github.com/indutny/0-udp 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 differently: * https://github.com/opensource-apple/xnu/blob/2fa84067f6cdeb23267f877ca4fd26201316da1b/bsd/kern/uipc_socket.c#L4461 * https://github.com/freebsd/freebsd/blob/6901832d8588537c81afbdb91d1a22deb5582c47/sys/kern/uipc_socket.c#L3163-L3164 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! Fedor. (NOTE: Duplicate, first email wasn't posted, because I wasn't subscribed to the ML)Received on Sat Aug 02 2014 - 07:40:04 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:51 UTC