summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/prserv
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2021-08-19 12:46:42 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-23 08:30:54 +0100
commit4df610473f21da79164ed01927103d13240d4c2a (patch)
tree9f125b4888017e5c9be825c53a855fd54e4e3888 /bitbake/lib/prserv
parentfdc908f321da852856a07c19e3d9a33ccb273dda (diff)
downloadpoky-4df610473f21da79164ed01927103d13240d4c2a.tar.gz
bitbake: bitbake: asyncrpc: always create new asyncio loops
asyncio in older Python 3.x (seen with 3.7) can seemingly hang if new_event_loop is called repeatedly in the same process. The reuse of processes in the Bitbake thread pool during parsing seems to be able to trigger this with the PR server export selftest. It appears that calling set_event_loop with the new loop avoids the issue, so that is now done in the asyncrpc Client initializer (with an explanatory comment). This should be revisited when the day arrives that Python 3.9 becomes the minimum required for BitBake. Additionally, it was discovered that using get_event_loop in the asyncrpc server initialization can trigger hangs in the hashserv unittests when the second test is run. To avoid this, switch to calling new_event_loop + set_event_loop in the initialization code there as well. (Bitbake rev: bb9a36563505652294b20b4c88199b24fa208342) Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/prserv')
0 files changed, 0 insertions, 0 deletions