On 6 Aug 2014 at 6:58, Brian Wood wrote:
* Works reliably on Microsoft Windows (hard), Linux (slightly easier), BSD and OS X (easiest by far of the lot).
I believe you. Having considered some of your previous comments in a different thread, on kqueue, I ported my code generator from Linux to BSD. I only found relief from a problem I was having by doing so.
kqueues are indeed the least worst solution available for watching for change of anything, though they do consume fd's rapidly for directory watching. I personally wish you could use the fd to indicate what you want to watch, and then close the fd after registering it with kqueue. The huge problem with Microsoft's otherwise very good API is it can spontaneously throw away data under load, and you can't recover and retry. inotify under Linux has the same problem. That means you need to checkpoint every success, and roll back to that last success and run polling to calculate deltas until you can resync the watched state with the ground state. A real shame in that design :( Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/