Crash auto recovery

in the worst way possible
This commit is contained in:
Natsumi
2025-12-23 00:43:04 +13:00
parent 9b20d62a90
commit 3a8627fd0e
6 changed files with 46 additions and 23 deletions

View File

@@ -1,6 +1,7 @@
using CefSharp.Internals;
using System;
using System.IO;
using System.Threading;
namespace VRCX;
@@ -26,7 +27,7 @@ public class BrowserSubprocess
if (string.IsNullOrEmpty(type))
{
// If --type param missing from command line CEF/Chromium assums
// If --type param missing from command line CEF/Chromium assumes
// this is the main process (as all subprocesses must have a type param).
return;
}
@@ -46,9 +47,22 @@ public class BrowserSubprocess
var methodArgs = new object[] { args };
var exitCode = mainMethod.Invoke(null, methodArgs);
Environment.Exit((int)exitCode);
int exitCode = -1;
while (true)
{
try
{
exitCode = (int)mainMethod.Invoke(null, methodArgs);
}
catch (Exception ex)
{
// TODO: Log this exception somewhere more useful
Console.WriteLine("Exception in BrowserSubprocess: " + ex);
Thread.Sleep(1000);
continue;
}
Environment.Exit(exitCode);
}
}
}