aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/main/pipeline.rs
diff options
context:
space:
mode:
authorLars Bergstrom <lars@lars.com>2014-01-15 15:28:13 -0600
committerLars Bergstrom <lars@lars.com>2014-01-15 15:40:47 -0600
commit6d3429ad03728028fa4059dd192456de292f939d (patch)
tree2bdf859135c1c4fe7fcc13227faa069173db08c9 /src/components/main/pipeline.rs
parent342844ed7b5684d67e16ca74ada6dcdb7bcf92fc (diff)
downloadservo-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.rs1
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);
}