Locking bug on Mac OS X over AFP
Matt Mackall
mpm at selenic.com
Sun Mar 9 22:22:44 UTC 2008
On Sun, 2008-03-09 at 15:05 -0700, Jens Alfke wrote:
> On 9 Mar '08, at 9:45 AM, Matt Mackall wrote:
>
> > What's in .hg/store/lock? We don't actually use any operating system
> > locking here, it's simply a file (usually a symlink). Does AFP support
> > symlinks?
>
> Yes, it does. (It's not uncommon in enterprise/edu. Mac deployments to
> have user home directories on AFP servers, so it supports all the
> standard Unix semantics.) There are some subtle issues with file
> locking, but then, _every_ network filesystem has subtle issues with
> file locking :-P
And we don't use file locking. That is, we don't use any operating
system APIs such as flock/lockf, etc. that enforce exclusive access.
Instead, we simply rely on atomic file creation[1]. Using a symlink lets
us simultaneously create a file and store our lock information.
So the error messages seen here:
> 8) hg clone /Volumes/ewing/LOCKBUG LOCKBUG2
> abort: Resource busy: /Volumes/ewing/LOCKBUG/.hg/store/lock
..is quite mysterious.
[1] If your network filesystem lets two users simultaneously create the
same file, you've got Bigger Problems.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list