提交 a9adfbf9 编写于 作者: L Larry Golding

ProcessWatchdog: Update list of tracked processes

上级 3070e2d4
......@@ -36,6 +36,16 @@ internal ProcessTracker(Process parentProcess, ProcDump procDump)
internal bool AllFinished => !_trackedProcesses.Any();
internal void Update()
{
// Make a copy of the list of tracked processes, because
// we can't remove items from the list while iterating over it.
TrackedProcess[] copy = _trackedProcesses.ToArray();
_trackedProcesses.Clear();
_trackedProcesses.AddRange(copy.Where(p => !p.ProcDumpProcess.HasExited));
}
internal void TerminateAll()
{
foreach (TrackedProcess trackedProcess in _trackedProcesses)
......
......@@ -68,6 +68,8 @@ private int Run()
}
Thread.Sleep(_options.PollingInterval);
processTracker.Update();
}
ConsoleUtils.LogMessage(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册