cm, better position to start ipc

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-03-13 13:46:44 +08:00
parent e1a0c62fd0
commit 7caafd563e
4 changed files with 13 additions and 5 deletions

View File

@ -217,7 +217,6 @@ void runMultiWindow(
void runConnectionManagerScreen(bool hide) async {
await initEnv(kAppTypeConnectionManager);
await bind.cmStartListenIpcThread();
_runApp(
'',
const DesktopServerPage(),

View File

@ -234,6 +234,9 @@ class PlatformFFI {
debugPrint(
'_appType:$_appType,info1-id:$id,info2-name:$name,dir:$_dir');
}
if (desktopType == DesktopType.cm) {
await _ffiBind.cmStartListenIpcThread();
}
await _ffiBind.mainDeviceId(id: id);
await _ffiBind.mainDeviceName(name: name);
await _ffiBind.mainSetHomeDir(home: _homeDir);

View File

@ -128,10 +128,13 @@ class ServerModel with ChangeNotifier {
_connectStatus = status;
notifyListeners();
}
final res = await bind.cmCheckClientsLength(length: _clients.length);
if (res != null) {
debugPrint("clients not match!");
updateClientState(res);
if (desktopType == DesktopType.cm) {
final res = await bind.cmCheckClientsLength(length: _clients.length);
if (res != null) {
debugPrint("clients not match!");
updateClientState(res);
}
}
updatePasswordModel();

View File

@ -2013,10 +2013,12 @@ async fn start_ipc(
for _ in 0..10 {
#[cfg(not(target_os = "linux"))]
{
log::debug!("Start cm");
res = crate::platform::run_as_user(args.clone());
}
#[cfg(target_os = "linux")]
{
log::debug!("Start cm");
res = crate::platform::run_as_user(args.clone(), None);
}
if res.is_ok() {
@ -2032,6 +2034,7 @@ async fn start_ipc(
run_done = false;
}
if !run_done {
log::debug!("Start cm");
super::CHILD_PROCESS
.lock()
.unwrap()