From 71c23e9487685ed71b5a9ffa4d045cb483c37925 Mon Sep 17 00:00:00 2001
From: Nicolas Wavrant <nicolas.wavrant@tiolive.com>
Date: Tue, 17 Sep 2013 09:35:19 +0200
Subject: [PATCH] the auto-deployment is made in a new thread, so it doesn't
 block the server

---
 slapos/runner/utils.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/slapos/runner/utils.py b/slapos/runner/utils.py
index 79af025..59dc26e 100755
--- a/slapos/runner/utils.py
+++ b/slapos/runner/utils.py
@@ -5,6 +5,7 @@
 import logging
 import md5
 import multiprocessing
+import thread
 import re
 import shutil
 import os
@@ -817,6 +818,10 @@ def cloneDefaultGit(config):
     }
     cloneRepo(data)
 
+def buildAndRun(config):
+  runSoftwareWithLock(config)
+  runInstanceWithLock(config)
+
 def setupDefaultSR(config):
   """If a default_sr is in the parameters,
   and no SR is deployed yet, setup it
@@ -825,5 +830,4 @@ def setupDefaultSR(config):
   if not os.path.exists(project) and config['default_sr'] != '':
     configNewSR(config, config['default_sr'])
   if config['auto_deploy']:
-    runSoftwareWithLock(config)
-    runInstanceWithLock(config)
+    thread.start_new_thread(buildAndRun, (config,))
-- 
2.30.9