diff options
author | Lars Bergstrom <lars@lars.com> | 2014-01-15 15:28:13 -0600 |
---|---|---|
committer | Lars Bergstrom <lars@lars.com> | 2014-01-15 15:40:47 -0600 |
commit | 6d3429ad03728028fa4059dd192456de292f939d (patch) | |
tree | 2bdf859135c1c4fe7fcc13227faa069173db08c9 /src/components/main/pipeline.rs | |
parent | 342844ed7b5684d67e16ca74ada6dcdb7bcf92fc (diff) | |
download | servo-6d3429ad03728028fa4059dd192456de292f939d.tar.gz servo-6d3429ad03728028fa4059dd192456de292f939d.zip |
Changes the Constellation shutdown procedure to a message and response
from the Compositor instead of a message with an immediate callback.
The problem was that the old model introduced a potential deadlock. If
the Constellation had a pending RenderReadyMsg in its queue when the
ExitMsg arrived from the Compositor, the Compositor would exit its
message loop and wait for the response from the Constellation. But,
the Constellation would send a SetIds message to the Compositor, which
also required a response - resulting in deadlock.
Diffstat (limited to 'src/components/main/pipeline.rs')
-rw-r--r-- | src/components/main/pipeline.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/components/main/pipeline.rs b/src/components/main/pipeline.rs index 8f5aaef929d..0fee4bdcea3 100644 --- a/src/components/main/pipeline.rs +++ b/src/components/main/pipeline.rs @@ -181,6 +181,7 @@ impl Pipeline { } pub fn revoke_paint_permission(&self) { + debug!("pipeline revoking render channel paint permission"); self.render_chan.send(PaintPermissionRevoked); } |