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). David _______________________________________________ email@example.com mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"