- Increase the residual memory increase threshold (100MB -> 300MB) used by
loky for memory leak detection (causing loky workers to be
shutdown/restarted), in order to reduce the amount of false positives (238).
- In Python 3.8, loky processes now inherit multiprocessing's
``resource_tracker`` created from their parent. As a consequence, no spurious
``resource_tracker`` warnings are emitted when loky workers manipulate
``shared_memory`` objects (242).
Note that loky still needs to use its own resource tracker instance to manage
resources that require the reference counting logic such as joblib temporary
memory mapped files for now.
- The ``resource_tracker`` now comes with built-in support for tracking files
in all OSes. In addition, Python processes can now signal they do not need a
shared resource anymore by using the
``resource_tracker.maybe_unlink(resource_name, resource_type)`` method. After
all processes having access to the said resource have called this method, the
``resource_tracker`` will proceed to unlink the resource. Previously, resource
unlinking by the ``resource_tracker`` was only done for leaked resources at
interpreter exit (228).
- Fix `shutdown(wait=False)` that was potentially leading to deadlocks and froze
interpreters (246).
- Backport `ExecutorManagerThread` from cpython to refactor
`_queue_management_thread` and ease maintenance (246).