summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/core/utils/concurrencytest.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-24 16:34:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-26 11:10:33 +0000
commit2365e00b7c5e78f2ce5043a2e2495fef346ecb3d (patch)
tree57fa2b5228395bd94162c791eb580a04e4a15cc5 /meta/lib/oeqa/core/utils/concurrencytest.py
parent5bc4f6935bf94b1d4e05e8652b5700f9fca389e5 (diff)
downloadpoky-2365e00b7c5e78f2ce5043a2e2495fef346ecb3d.tar.gz
bitbake: process: Rewrite multiple connection handling
If the bitbake server recieved multiple connections, it currently closes ones it can't handle (while its dealing with another). This is rather antisocial behaviour which causes clients to quickly run through their retries and abort. Instead, queue any other connections until the current one is closed. This way the client can decide when it wants to stop waiting for the server. If the client is gone by the time we handle it, we handle that gracefully. This also fixes a number of bugs in the connection handling where connections which did drop early were badly handled causing tracebacks in the logs. Also, handle queue incomming connections in a loop to ensure that the main client handling doesn't starve that piece of the system. This code was stress tested by running 50 connection attempts in parallel at once, ensuring the code correctly handled them. (Bitbake rev: 02845a561b38658ac3edf5cc9c34625ed860d34f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/core/utils/concurrencytest.py')
0 files changed, 0 insertions, 0 deletions