mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Rename ports/winit package to servoshell (#30163)
* rename winit package to servoshell * revert previous changes and rename only package
This commit is contained in:
parent
cc4fe4981f
commit
66567faeb2
26 changed files with 39 additions and 39 deletions
46
ports/servoshell/platform/macos/mod.rs
Normal file
46
ports/servoshell/platform/macos/mod.rs
Normal file
|
@ -0,0 +1,46 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use std::ptr;
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
|
||||
pub fn deinit(clean_shutdown: bool) {
|
||||
// An unfortunate hack to make sure the linker's dead code stripping doesn't strip our
|
||||
// `Info.plist`.
|
||||
unsafe {
|
||||
ptr::read_volatile(&INFO_PLIST[0]);
|
||||
}
|
||||
|
||||
let thread_count = unsafe { macos_count_running_threads() };
|
||||
|
||||
if thread_count != 1 {
|
||||
println!(
|
||||
"{} threads are still running after shutdown (bad).",
|
||||
thread_count
|
||||
);
|
||||
if clean_shutdown {
|
||||
println!("Waiting until all threads have shutdown");
|
||||
loop {
|
||||
let thread_count = unsafe { macos_count_running_threads() };
|
||||
if thread_count == 1 {
|
||||
break;
|
||||
}
|
||||
thread::sleep(Duration::from_millis(1000));
|
||||
println!("{} threads are still running.", thread_count);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
println!("All threads have shutdown (good).");
|
||||
}
|
||||
}
|
||||
|
||||
#[link_section = "__TEXT,__info_plist"]
|
||||
#[no_mangle]
|
||||
pub static INFO_PLIST: [u8; 619] = *include_bytes!("Info.plist");
|
||||
|
||||
#[link(name = "count_threads")]
|
||||
extern "C" {
|
||||
fn macos_count_running_threads() -> i32;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue