diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-18 18:07:29 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-18 18:21:03 -0400 |
commit | f684f282f288a464e4d7d6d88865256b86a67c84 (patch) | |
tree | 637019db21f1e50d6a52a6ad3f17f196f0a72b5e /doc | |
parent | 0ecc7dc8927b3840d6a7ba4d39c344f3e962580e (diff) |
blog for the day
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/assistant/blog/day_12__freebsd_redux.mdwn | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_12__freebsd_redux.mdwn b/doc/design/assistant/blog/day_12__freebsd_redux.mdwn new file mode 100644 index 000000000..ba397788a --- /dev/null +++ b/doc/design/assistant/blog/day_12__freebsd_redux.mdwn @@ -0,0 +1,23 @@ +Followed my plan from yesterday, and wrote a simple C library to interface +to `kqueue`, and Haskell code to use that library. By now I think I +understand kqueue fairly well -- there are some very tricky parts to the +interface. + +But... it still did't work. After building all this, my code was +failing the same way that the +[haskell kqueue library failed](https://github.com/hesselink/kqueue/issues/1) +yesterday. I filed a [bug report with a testcase](). + +Then I thought to ask on #haskell. Got sorted out in quick order! The +problem turns out to be that haskell's runtime has a peridic SIGALARM, +that is interrupting my kevent call. It can be worked around with `+RTS -V0`, +but I put in a fix to retry to kevent when it's interrupted. + +And now `git-annex watch` can detect changes to directories on BSD and OSX! + +Note: I said "detect", not "do something useful in response to". Getting +from the limited kqueue events to actually staging changes in the git repo +is going to be another day's work. Still, brave FreeBSD or OSX users +might want to check out the `watch` branch from git and see if +`git annex watch` will at least *say* it sees changes you make to your +repository. |