Reference counting for mounts
Description: TODO
The main problem is the mount cleanup logic at the end of a client's lifecycle where all mounts for a client are unmounted.
This can lead to conflicts if, e.g., Client A and B both want a mount for /data/special
. In this case /data/special
would get unmounted if either A or B drop their connection which may lead to race conditions on concurrent tasks1.
This was already implemented/ recognized in the executor MR but has yet to be backported to stable.
@robinc this likely is the source of the bug with missing heaps for MainLight.thy.
-
The mount would be reconstructed on the next call to, e.g.,
use_theories
but any currently running tasks, like session creation, will get disrupted.↩
Edited by Joshua Balthasar Kobschätzki