Mercurial > hg
view doc/hgrc.5.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 | 979b107eaea2 |
children | 6f3428c528b4 |
line wrap: on
line source
====== hgrc ====== --------------------------------- configuration files for Mercurial --------------------------------- :Author: Bryan O'Sullivan <bos@serpentine.com> :Organization: Mercurial :Manual section: 5 :Manual group: Mercurial Manual .. contents:: :backlinks: top :class: htmlonly Synopsis ======== .. include:: ../mercurial/help/config.txt Author ====== Bryan O'Sullivan <bos@serpentine.com>. Mercurial was written by Matt Mackall <mpm@selenic.com>. See Also ======== |hg(1)|_, |hgignore(5)|_ Copying ======= This manual page is copyright 2005 Bryan O'Sullivan. Mercurial is copyright 2005-2012 Matt Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version. .. include:: common.txt