This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch aevri/enable_spawn_ci_7 in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit aeb17c6cc2cc206e7cabe03e3ae75f2570c024fa Author: Angelos Evripiotis <[email protected]> AuthorDate: Tue Oct 29 13:21:36 2019 +0000 WIP: _fuse/mount: don't pickle self.__logfile --- src/buildstream/_fuse/mount.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/buildstream/_fuse/mount.py b/src/buildstream/_fuse/mount.py index defc41d..9141cdd 100644 --- a/src/buildstream/_fuse/mount.py +++ b/src/buildstream/_fuse/mount.py @@ -103,13 +103,19 @@ class Mount(): assert self.__process is None self.__mountpoint = mountpoint + self.__process = Process(target=self.__run_fuse, args=(self.__logfile.name,)) # Ensure the child process does not inherit our signal handlers, if the # child wants to handle a signal then it will first set its own # handler, and then unblock it. with _signals.blocked([signal.SIGTERM, signal.SIGTSTP, signal.SIGINT], ignore=False): + # Note that the temporary __logfile isn't picklable, so we must make + # sure it is not part of `self` when spawning a process. + logfile = self.__logfile + self.__logfile = None self.__process.start() + self.__logfile = logfile while not os.path.ismount(mountpoint): if not self.__process.is_alive():
