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