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():

Reply via email to