start --server on gmd wayland, just for communications, no connections will be established
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
71d1bacf78
commit
0b417ac479
8 changed files with 405 additions and 191 deletions
|
|
@ -883,7 +883,7 @@ impl Connection {
|
|||
let dtype = crate::platform::linux::get_display_server();
|
||||
if dtype != "x11" && dtype != "wayland" {
|
||||
res.set_error(format!(
|
||||
"Unsupported display server type {}, x11 or wayland expected",
|
||||
"Unsupported display server type \"{}\", x11 or wayland expected",
|
||||
dtype
|
||||
));
|
||||
let mut msg_out = Message::new();
|
||||
|
|
|
|||
|
|
@ -189,6 +189,17 @@ impl<T: Subscriber + From<ConnInner>> ServiceTmpl<T> {
|
|||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn wait_prelogin(&self) {
|
||||
#[cfg(target_os = "linux")]
|
||||
while self.active() {
|
||||
if crate::platform::linux::is_prelogin() {
|
||||
break;
|
||||
}
|
||||
thread::sleep(time::Duration::from_millis(300));
|
||||
}
|
||||
}
|
||||
|
||||
pub fn repeat<S, F>(&self, interval_ms: u64, callback: F)
|
||||
where
|
||||
F: 'static + FnMut(Self, &mut S) -> ResultType<()> + Send,
|
||||
|
|
@ -198,6 +209,8 @@ impl<T: Subscriber + From<ConnInner>> ServiceTmpl<T> {
|
|||
let mut callback = callback;
|
||||
let sp = self.clone();
|
||||
let thread = thread::spawn(move || {
|
||||
sp.wait_prelogin();
|
||||
|
||||
let mut state = S::default();
|
||||
let mut may_reset = false;
|
||||
while sp.active() {
|
||||
|
|
@ -232,6 +245,8 @@ impl<T: Subscriber + From<ConnInner>> ServiceTmpl<T> {
|
|||
let sp = self.clone();
|
||||
let mut callback = callback;
|
||||
let thread = thread::spawn(move || {
|
||||
sp.wait_prelogin();
|
||||
|
||||
let mut error_timeout = HIBERNATE_TIMEOUT;
|
||||
while sp.active() {
|
||||
if sp.has_subscribes() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue