summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/bb/cooker.py22
-rw-r--r--lib/bb/server/process.py22
2 files changed, 21 insertions, 23 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 1625d3c15..d6e691950 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1585,28 +1585,6 @@ class BBCooker:
self.databuilder.reset()
self.data = self.databuilder.data
-def server_main(cooker, func, *args):
- cooker.pre_serve()
-
- if cooker.configuration.profile:
- try:
- import cProfile as profile
- except:
- import profile
- prof = profile.Profile()
-
- ret = profile.Profile.runcall(prof, func, *args)
-
- prof.dump_stats("profile.log")
- bb.utils.process_profilelog("profile.log")
- print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed")
-
- else:
- ret = func(*args)
-
- cooker.post_serve()
-
- return ret
class CookerExit(bb.event.Event):
"""
diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index 01d9f2f01..85beaae01 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -103,9 +103,27 @@ class ProcessServer(multiprocessing.Process):
except:
pass
- bb.cooker.server_main(self.cooker, self.main)
+ if self.cooker.configuration.profile:
+ try:
+ import cProfile as profile
+ except:
+ import profile
+ prof = profile.Profile()
+
+ ret = profile.Profile.runcall(prof, self.main)
+
+ prof.dump_stats("profile.log")
+ bb.utils.process_profilelog("profile.log")
+ print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed")
+
+ else:
+ ret = self.main()
+
+ return ret
def main(self):
+ self.cooker.pre_serve()
+
bb.utils.set_process_name("Cooker")
ready = []
@@ -184,6 +202,8 @@ class ProcessServer(multiprocessing.Process):
except:
pass
+ self.cooker.post_serve()
+
# Remove the socket file so we don't get any more connections to avoid races
os.unlink(self.sockname)
self.sock.close()