From 2596dc814f05ce7575816e01857b2b1bdcfed4e9 Mon Sep 17 00:00:00 2001
From: Patrick Uiterwijk <puiterwijk@redhat.com>
Date: Fri, 2 Dec 2016 18:00:52 +0000
Subject: [PATCH] Lock the buildsystem while logging in
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
---
bodhi/server/buildsys.py | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/bodhi/server/buildsys.py b/bodhi/server/buildsys.py
index fbbcd347..6fbe5f6f 100644
--- a/bodhi/server/buildsys.py
+++ b/bodhi/server/buildsys.py
@@ -14,6 +14,7 @@
import time
import logging
+from threading import Lock
from os.path import join, expanduser
@@ -314,18 +315,20 @@ def get_krb_conf(config):
def get_session():
""" Get a new buildsystem instance """
- global _buildsystem
- if not _buildsystem:
- log.warning('No buildsystem configured; assuming testing')
- return DevBuildsys()
- return _buildsystem()
+ global _buildsystem, _buildsystem_login_lock
+ with _buildsystem_login_lock:
+ if not _buildsystem:
+ log.warning('No buildsystem configured; assuming testing')
+ return DevBuildsys()
+ return _buildsystem()
def setup_buildsystem(settings):
- global _buildsystem, _koji_hub
+ global _buildsystem, _koji_hub, _buildsystem_login_lock
if _buildsystem:
return
+ _buildsystem_login_lock = Lock()
_koji_hub = settings.get('koji_hub')
buildsys = settings.get('buildsystem')
--
2.11.0