support/scripts/pkg-stats: clear multiprocessing pools after use
authorTitouan Christophe <titouan.christophe@railnova.eu>
Sun, 1 Mar 2020 21:25:28 +0000 (22:25 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 7 Mar 2020 14:59:08 +0000 (15:59 +0100)
commit28adf09b8993970eadd63d7a8401d3c2bf3b7235
treece9721cee976b4dcab224a33d8f28808bbe5ac30
parentfb05ab22425e8cd8715611b66eadb1a3a5da5fa9
support/scripts/pkg-stats: clear multiprocessing pools after use

During the CVE checking phase, we can still see a huge amount of
Python processes (actually 128) running on the host, even though
the CVE step is entirely ran in the main thread.

These are actually the worker processes spawned to check for the
packages URL statuses and the latest versions from release-monitoring.
This is because of an issue in Python's multiprocessing implementation:
https://bugs.python.org/issue34172

The problem was already there before the CVE matching step was
introduced, but because pkg-stat was terminating right after the
release-monitoring step, it went unnoticed.

Also, do not hold a reference to the multiprocessing pool from
the Package class, as this is not needed.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
support/scripts/pkg-stats