diff --git a/Wabbajack.Common/FileExtractor.cs b/Wabbajack.Common/FileExtractor.cs index 2b7ecbcd..904111a4 100644 --- a/Wabbajack.Common/FileExtractor.cs +++ b/Wabbajack.Common/FileExtractor.cs @@ -204,9 +204,15 @@ namespace Wabbajack.Common { } - p.WaitForExit(); + if (!p.WaitForExit(30000)) + { + Utils.Status($"Extracting {name} - Taking a long time to exit.", alsoLog: true); + p.WaitForExit(); + } + if (p.ExitCode == 0) { + Utils.Log(new GenericInfo($"Extracted {Path.GetFileName(source)}")); return; } Utils.Log(new _7zipReturnError(p.ExitCode, source, dest, p.StandardOutput.ReadToEnd())); diff --git a/Wabbajack.Common/Utils.cs b/Wabbajack.Common/Utils.cs index b1c1e8fc..c72edef5 100644 --- a/Wabbajack.Common/Utils.cs +++ b/Wabbajack.Common/Utils.cs @@ -121,9 +121,13 @@ namespace Wabbajack.Common } } - public static void Status(string msg, int progress = 0) + public static void Status(string msg, int progress = 0, bool alsoLog = false) { WorkQueue.AsyncLocalCurrentQueue.Value?.Report(msg, progress); + if (alsoLog) + { + Utils.Log(msg); + } } ///