diff mercurial/bdiff.h @ 30921:1f151a33af8e

lock: include Linux pid namespace identifier in prefix Previously, the lock only contains a hostname as an attempt to detect pid namespace difference. However, that's not enough on modern Linux - a single hostname could have different pid namespaces. That means if people run hg inside different PID namespaces with a same UTS namespae, the lock would be broken - an hg proccess in pid namespace A will think the lock having a "random" pid in pid namespace B is "dead" and remove it. This patch solves the above issue by appending an PID namespace identifier of the current process to the lock prefix ("hostname"). It depends on /proc being mounted properly. But I don't think there is a better way to get pid namespace identifier reliably.
author Jun Wu <quark@fb.com>
date Fri, 10 Feb 2017 13:56:31 -0800
parents 9631ff5ebbeb
children 72985b390d7c
line wrap: on
line diff