mirror of
https://github.com/servo/servo.git
synced 2025-09-27 23:30:08 +01:00
constellation: join on script-threads (#38424)
We currently send exit signals to script-threads, and we also join on the BHM worker. This ensure the constellation shuts-down only after script has dropped it's sender to the BHM worker. By joining on the script-threads, we have a guarantee that they have exited(which is stronger than having dropped their senders) by the time the constellation exits. Testing: Manually opened many tabs and closed the window, both in single- and multi-process modes. Fixes: Part of - https://github.com/servo/servo/issues/30849 --------- Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
This commit is contained in:
parent
b23adab8a5
commit
a99ad240a0
5 changed files with 45 additions and 16 deletions
|
@ -15,6 +15,7 @@ use std::any::Any;
|
|||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicIsize, AtomicU64, Ordering};
|
||||
use std::thread::JoinHandle;
|
||||
|
||||
use app_units::Au;
|
||||
use atomic_refcell::AtomicRefCell;
|
||||
|
@ -305,7 +306,7 @@ pub trait ScriptThreadFactory {
|
|||
layout_factory: Arc<dyn LayoutFactory>,
|
||||
system_font_service: Arc<SystemFontServiceProxy>,
|
||||
load_data: LoadData,
|
||||
);
|
||||
) -> JoinHandle<()>;
|
||||
}
|
||||
#[derive(Clone, Default)]
|
||||
pub struct OffsetParentResponse {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue