On Nov 11, 2014, at 00:56, David Chisnall <thera...@freebsd.org> wrote:
> On 11 Nov 2014, at 03:35, Allan Jude <allanj...@freebsd.org> wrote:
>> jkh@ mentioned this specifically when he gave his talk at EuroBSDCon and
>> MeetBSD, about how Apple solved this in LaunchD, because apparently
>> originally libc DID check /etc/localtime constantly.
> Darwin also has the notify(3) interface, which allows one-bit messages to be
> transmitted either from the kernel to userspace or from userspace to
> userspace very cheaply. This is ideal for this sort of 'something you've
> cached is change, go and do something expensive to fix it' use (time zone has
> changed, network connectivity has changed, power state has changed). You can
> assign notifications to either file descriptors (that can be monitored with
> kqueue), to signals, or to flags in memory for things where polling is
> cheaper (as in this case - the libc functions could just check whether a
> specific flag is set in memory when accessing the time zone info and load a
> newer one if changed).
Except that's not how it works for network events: kernel control sockets are
used to communicate between the kernel and userland about the state of the
network. Kernel control sockets carry kernel event messages.
email@example.com mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"