[darcs-users] Re: darcs - Problem with MacOS X HFS+ File System
Markus Hanauska
hanauska at equinux.net
Mon Mar 14 09:15:31 UTC 2005
On 05. Mrz 2005, at 15:20 Uhr, David Roundy wrote:
> I see it! It's the careful_atomic_create in compat.c, which really is
> only
> needed for lock-grabbing, but we use anyways when we create a file.
> This
> function does some hard-link trickery to ensure that even over NFS two
> darcs instances can't accidentally both grab _darcs/lock.
>
> If you run with the environment variable DARCS_SLOPPY_LOCKS=1,
> there's no
> problem (at least in my simple tests involving xcode)! :) If only
> Juliusz
> were a mac person, I bet he would have been reading this and would
> have
> thought of this ages ago. (It seems like he's always telling people
> to try
> running with DARCS_SLOPPY_LOCKS... he wrote the locking code.)
>
> I think the best solution is to introduce a takeSloppyLock (perhaps
> called
> something like withNewFile or something) in Lock.lhs, which we can
> use when
> we don't want real locking. It'll probably be a tad faster, and will
> avoid
> the complicated lock code when we don't actually want locking
> behavior.
>
> The other alternative that comes to mind would be to avoid the careful
> locking code entirely on the mac. That seems to me like a worse
> solution.
>
> In the meantime, you can just define DARCS_SLOPPY_LOCKS in your
> .bashrc (or
> whatever) which should fix the problem.
Cool, when can we expect that to be fixed? Should this mail be
forwarded to the dev-list? Are the right people now aware of the
problem, so we can expect it to be fixed in a 1.0.3 release? Or maybe
is there a 1.1 release planed? I mean what's the next step to a final
solution? The work-a-round is nice, but we can't always guarantee that
people have made these changes to their bashrc file.
We are sorry for being impatient, but we don't want to wait 2 months or
more. Meanwhile two of our programmers started to learn some basic
Haskell coding, but I'm afraid we aren't good enough so far to fix this
ourselves. Also nobody has been able to tell us so far how to create
static binaries. On the darcs-page, there are two links offering a
static binary for MacOS X, but if we compile it ourselves, the binary
needs all kind of libraries to be present (another thing we can't
always guarantee), so if we fix it ourselves, we'd need somebody
showing us how to create a static Haskell binary that runs on system
without any Haskell compiler installed. I guess this can be done via
some changes of the makefile or do we have to operate the linker by
hand? Or is there a configure switch for that?
--
Best Regards,
Markus Hanauska
More information about the darcs-users
mailing list