提交 ee6501ab 编写于 作者: M Michal Privoznik

virSecurityManagerMetadataLock: Expand the comment on deadlocks

Document why we need to sort paths while it's still fresh in my
memory.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
Tested-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
上级 48df0987
......@@ -1289,7 +1289,12 @@ virSecurityManagerMetadataLock(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
if (VIR_ALLOC_N(fds, npaths) < 0)
return NULL;
/* Sort paths to lock in order to avoid deadlocks. */
/* Sort paths to lock in order to avoid deadlocks with other
* processes. For instance, if one process wants to lock
* paths A B and there's another that is trying to lock them
* in reversed order a deadlock might occur. But if we sort
* the paths alphabetically then both processes will try lock
* paths in the same order and thus no deadlock can occur. */
qsort(paths, npaths, sizeof(*paths), cmpstringp);
for (i = 0; i < npaths; i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册