blog for the day
This commit is contained in:
parent
0ecc7dc892
commit
f684f282f2
1 changed files with 23 additions and 0 deletions
23
doc/design/assistant/blog/day_12__freebsd_redux.mdwn
Normal file
23
doc/design/assistant/blog/day_12__freebsd_redux.mdwn
Normal file
|
@ -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.
|
Loading…
Add table
Reference in a new issue