diff --git a/src/xpra/net/subprocess_wrapper.py b/src/xpra/net/subprocess_wrapper.py index e3621a65f2..7de726c897 100644 --- a/src/xpra/net/subprocess_wrapper.py +++ b/src/xpra/net/subprocess_wrapper.py @@ -315,7 +315,8 @@ def cleanup(self): def stop(self): self.stop_process() - self.stop_protocol() + #call via idle_add to prevent deadlocks on win32! + glib.idle_add(self.stop_protocol) def stop_process(self): log("%s.stop_process() sending stop request to %s", self, self.description) diff --git a/src/xpra/sound/wrapper.py b/src/xpra/sound/wrapper.py index 468ce081b8..0c41a44401 100644 --- a/src/xpra/sound/wrapper.py +++ b/src/xpra/sound/wrapper.py @@ -189,7 +189,8 @@ def verify_started(self): def subprocess_signal(self, wrapper, proc): log("subprocess_signal: %s", proc) - self.stop_protocol() + #call via idle_add to prevent deadlocks on win32! + glib.idle_add(self.stop_protocol) def state_changed(self, wrapper, new_state):