mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Don't block the script listener thread on window.close().
This does not appear to have any effect. I believe this has been the case sincee841065351
, when the helper thread was introduced. It was added ina7ef1cd35e
, where it blocked the script thread rather than this helper thread.
This commit is contained in:
parent
7cea4eb01c
commit
041c907d1b
2 changed files with 5 additions and 8 deletions
|
@ -529,9 +529,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
return false
|
||||
}
|
||||
|
||||
(Msg::Exit(channel), _) => {
|
||||
(Msg::Exit, _) => {
|
||||
self.start_shutting_down();
|
||||
let _ = channel.send(());
|
||||
}
|
||||
|
||||
(Msg::ShutdownComplete, _) => {
|
||||
|
|
|
@ -9,7 +9,7 @@ use compositor::{self, CompositingReason};
|
|||
use euclid::point::Point2D;
|
||||
use euclid::size::Size2D;
|
||||
use gfx_traits::{Epoch, FrameTreeId, LayerId, LayerProperties, PaintListener};
|
||||
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
|
||||
use ipc_channel::ipc::{IpcReceiver, IpcSender};
|
||||
use layers::layers::{BufferRequest, LayerBufferSet};
|
||||
use layers::platform::surface::{NativeDisplay, NativeSurface};
|
||||
use msg::constellation_msg::{Image, Key, KeyModifiers, KeyState, PipelineId};
|
||||
|
@ -81,9 +81,7 @@ pub fn run_script_listener_thread(compositor_proxy: Box<CompositorProxy + 'stati
|
|||
}
|
||||
|
||||
ScriptToCompositorMsg::Exit => {
|
||||
let (chan, port) = ipc::channel().unwrap();
|
||||
compositor_proxy.send(Msg::Exit(chan));
|
||||
port.recv().unwrap();
|
||||
compositor_proxy.send(Msg::Exit);
|
||||
}
|
||||
|
||||
ScriptToCompositorMsg::SetTitle(pipeline_id, title) => {
|
||||
|
@ -169,7 +167,7 @@ impl PaintListener for Box<CompositorProxy + 'static + Send> {
|
|||
/// Messages from the painting thread and the constellation thread to the compositor thread.
|
||||
pub enum Msg {
|
||||
/// Requests that the compositor shut down.
|
||||
Exit(IpcSender<()>),
|
||||
Exit,
|
||||
|
||||
/// Informs the compositor that the constellation has completed shutdown.
|
||||
/// Required because the constellation can have pending calls to make
|
||||
|
@ -248,7 +246,7 @@ pub enum Msg {
|
|||
impl Debug for Msg {
|
||||
fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
|
||||
match *self {
|
||||
Msg::Exit(..) => write!(f, "Exit"),
|
||||
Msg::Exit => write!(f, "Exit"),
|
||||
Msg::ShutdownComplete => write!(f, "ShutdownComplete"),
|
||||
Msg::GetNativeDisplay(..) => write!(f, "GetNativeDisplay"),
|
||||
Msg::InitializeLayersForPipeline(..) => write!(f, "InitializeLayersForPipeline"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue