[bitbake-devel] [PATCH 1/9] hashserv: Don't daemonize server process

Richard Purdie richard.purdie at linuxfoundation.org
Fri Sep 27 12:33:39 UTC 2019


From: Joshua Watt <jpewhacker at gmail.com>

The hash server process is terminated and waited on with join(), so it
should not be a daemon. Daemonizing it cause races with the server
cleanup, especially in the selftest because the process may not have
terminated and cleanup up its socket before the test cleanup runs and
tries to do it.

[YOCTO #13542]

Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/cooker.py      | 1 -
 lib/hashserv/tests.py | 1 -
 2 files changed, 2 deletions(-)

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 0c540028ae..20ef04d3ff 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -399,7 +399,6 @@ class BBCooker:
                 self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR")
                 self.hashserv = hashserv.create_server(self.hashservaddr, dbfile, sync=False)
                 self.hashserv.process = multiprocessing.Process(target=self.hashserv.serve_forever)
-                self.hashserv.process.daemon = True
                 self.hashserv.process.start()
             self.data.setVar("BB_HASHSERVE", self.hashservaddr)
             self.databuilder.origdata.setVar("BB_HASHSERVE", self.hashservaddr)
diff --git a/lib/hashserv/tests.py b/lib/hashserv/tests.py
index 6584ff57b4..a5472a996d 100644
--- a/lib/hashserv/tests.py
+++ b/lib/hashserv/tests.py
@@ -32,7 +32,6 @@ class TestHashEquivalenceServer(object):
 
         self.server = create_server(self.get_server_addr(), self.dbfile)
         self.server_thread = multiprocessing.Process(target=self._run_server)
-        self.server_thread.daemon = True
         self.server_thread.start()
         self.client = create_client(self.server.address)
 
-- 
2.20.1



More information about the bitbake-devel mailing list