annotate doc/common.txt @ 17682:829919ef894a stable

lock: fixed race condition in trylock/testlock (issue3506) Suppose the following scenario: 1. Process A takes the lock (e.g. on commit). 2. Process B wants to grab the lock. Since lock file exists the exception is raised. In the catch block the testlock function is called. 3. Process A releases the lock. 4. Process B tries to read the lock file as a part of testlock function. This results in OSError (ENOENT) and since we're not inside the exception handler function this is propagated and aborts the whole operation. To fix this we now check in testlock function whether lock file actually exists and if not (i.e. if readlock fails) we just return.
author Tomasz Kleczek <tomasz.kleczek@fb.com>
date Thu, 27 Sep 2012 14:38:03 -0700
parents 2399362b3bb0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
1 .. Common link and substitution definitions.
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
2
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
3 .. |hg(1)| replace:: **hg**\ (1)
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
4 .. _hg(1): hg.1.html
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
5 .. |hgrc(5)| replace:: **hgrc**\ (5)
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
6 .. _hgrc(5): hgrc.5.html
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
7 .. |hgignore(5)| replace:: **hgignore**\ (5)
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
8 .. _hgignore(5): hgignore.5.html