diff options
-rw-r--r-- | lib/bb/cooker.py | 22 | ||||
-rw-r--r-- | lib/bb/server/process.py | 22 |
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() |