summaryrefslogtreecommitdiff
path: root/doc/design/assistant/blog/day_12__freebsd_redux.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-06-18 18:07:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-06-18 18:21:03 -0400
commitf684f282f288a464e4d7d6d88865256b86a67c84 (patch)
tree637019db21f1e50d6a52a6ad3f17f196f0a72b5e /doc/design/assistant/blog/day_12__freebsd_redux.mdwn
parent0ecc7dc8927b3840d6a7ba4d39c344f3e962580e (diff)
blog for the day
Diffstat (limited to 'doc/design/assistant/blog/day_12__freebsd_redux.mdwn')
-rw-r--r--doc/design/assistant/blog/day_12__freebsd_redux.mdwn23
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.