mirror of
https://github.com/2dust/v2rayN.git
synced 2026-10-05 04:52:06 +03:00
@@ -8,7 +8,6 @@ public sealed class AppManager
|
||||
private Config _config;
|
||||
private int? _statePort;
|
||||
private int? _statePort2;
|
||||
private WindowsJob? _processJob;
|
||||
public static AppManager Instance => _instance.Value;
|
||||
public Config Config => _config;
|
||||
|
||||
@@ -136,21 +135,6 @@ public sealed class AppManager
|
||||
return localPort + (int)protocol;
|
||||
}
|
||||
|
||||
public void AddProcess(nint processHandle)
|
||||
{
|
||||
if (Utils.IsWindows())
|
||||
{
|
||||
_processJob ??= new();
|
||||
try
|
||||
{
|
||||
_processJob?.AddProcess(processHandle);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Config
|
||||
|
||||
#region SqliteHelper
|
||||
|
||||
@@ -8,6 +8,7 @@ public class CoreManager
|
||||
private static readonly Lazy<CoreManager> _instance = new(() => new());
|
||||
public static CoreManager Instance => _instance.Value;
|
||||
private Config _config;
|
||||
private WindowsJob? _processJob;
|
||||
private ProcessService? _processService;
|
||||
private ProcessService? _processPreService;
|
||||
private bool _linuxSudo = false;
|
||||
@@ -264,14 +265,28 @@ public class CoreManager
|
||||
await procService.StartAsync();
|
||||
|
||||
await Task.Delay(100);
|
||||
AppManager.Instance.AddProcess(procService.Handle);
|
||||
|
||||
if (procService is null or { HasExited: true })
|
||||
{
|
||||
throw new Exception(ResUI.FailedToRunCore);
|
||||
}
|
||||
AddProcessJob(procService.Handle);
|
||||
|
||||
return procService;
|
||||
}
|
||||
|
||||
private void AddProcessJob(nint processHandle)
|
||||
{
|
||||
if (Utils.IsWindows())
|
||||
{
|
||||
_processJob ??= new();
|
||||
try
|
||||
{
|
||||
_processJob?.AddProcess(processHandle);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Process
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user