From f040c38f0590fc8aaf3f2d6aa4a023872b7174d1 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 18 Sep 2019 11:49:28 +0100 Subject: bitbake: hashserv fixup (Bitbake rev: b31de77665851fd1745ced8aa0abc26df7b4ea9a) Signed-off-by: Richard Purdie --- bitbake/lib/hashserv/client.py | 8 +++++++- bitbake/lib/hashserv/server.py | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/hashserv/client.py b/bitbake/lib/hashserv/client.py index 4d3c35f00c..2559bbb3fb 100644 --- a/bitbake/lib/hashserv/client.py +++ b/bitbake/lib/hashserv/client.py @@ -40,7 +40,13 @@ class Client(object): def connect_unix(self, path): def connect_sock(): s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - s.connect(path) + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(path)) + s.connect(os.path.basename(path)) + finally: + os.chdir(cwd) return s self._connect_sock = connect_sock diff --git a/bitbake/lib/hashserv/server.py b/bitbake/lib/hashserv/server.py index 0ffc83c13d..cddf8ebd1f 100644 --- a/bitbake/lib/hashserv/server.py +++ b/bitbake/lib/hashserv/server.py @@ -365,8 +365,11 @@ class Server(object): def cleanup(): os.unlink(path) + # Work around path length limits in AF_UNIX + os.chdir(os.path.dirname(path)) + self.server = self.loop.run_until_complete( - asyncio.start_unix_server(self.handle_client, path, loop=self.loop) + asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop) ) logger.info('Listening on %r' % path) -- cgit v1.2.3-54-g00ecf