Remove superfluous messages when attaching to a process

This commit is contained in:
Jordan Brown
2018-09-25 22:00:19 -04:00
parent 2f0f7dea61
commit 1a0d8754d0
2 changed files with 10 additions and 3 deletions
+8 -1
View File
@@ -28,7 +28,7 @@ namespace Tgstation.Server.Host.Core
/// </summary>
readonly ILogger<Process> logger;
public Process(System.Diagnostics.Process handle, Task<int> lifetime, StringBuilder outputStringBuilder, StringBuilder errorStringBuilder, StringBuilder combinedStringBuilder, ILogger<Process> logger)
public Process(System.Diagnostics.Process handle, Task<int> lifetime, StringBuilder outputStringBuilder, StringBuilder errorStringBuilder, StringBuilder combinedStringBuilder, ILogger<Process> logger, bool preExisting)
{
this.handle = handle ?? throw new ArgumentNullException(nameof(handle));
Lifetime = lifetime ?? throw new ArgumentNullException(nameof(lifetime));
@@ -40,6 +40,13 @@ namespace Tgstation.Server.Host.Core
this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
Id = handle.Id;
if (preExisting)
{
Startup = Task.CompletedTask;
return;
}
Startup = Task.Factory.StartNew(() =>
{
try
@@ -61,7 +61,7 @@ namespace Tgstation.Server.Host.Core
var handle = System.Diagnostics.Process.GetProcessById(id);
try
{
return new Process(handle, AttachExitHandler(handle), null, null, null, loggerFactory.CreateLogger<Process>());
return new Process(handle, AttachExitHandler(handle), null, null, null, loggerFactory.CreateLogger<Process>(), true);
}
catch
{
@@ -129,7 +129,7 @@ namespace Tgstation.Server.Host.Core
}
catch (InvalidOperationException) { }
return new Process(handle, lifetimeTask, outputStringBuilder, errorStringBuilder, combinedStringBuilder, loggerFactory.CreateLogger<Process>());
return new Process(handle, lifetimeTask, outputStringBuilder, errorStringBuilder, combinedStringBuilder, loggerFactory.CreateLogger<Process>(), false);
}
catch
{