+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
import arvados
import arvados_fuse as fuse
import arvados.safeapi
self.api = api if api else arvados.safeapi.ThreadSafeApiCache(arvados.config.settings())
self.llfuse_thread = None
+ # Workaround for llfuse deadlock bug. See #10805, #8345,
+ # https://bitbucket.org/nikratio/python-llfuse/issues/108
+ llfuse.close = lambda *args: None
+
# This is a copy of Mount's method. TODO: Refactor MountTestBase
# to use a Mount instead of copying its code.
def _llfuse_main(self):
def tearDown(self):
if self.llfuse_thread:
+ if self.operations.events:
+ self.operations.events.close(timeout=10)
subprocess.call(["fusermount", "-u", "-z", self.mounttmp])
t0 = time.time()
self.llfuse_thread.join(timeout=10)