-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
34 lines (32 loc) · 1.12 KB
/
Copy pathProgram.cs
File metadata and controls
34 lines (32 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Diagnostics.CodeAnalysis;
namespace DotPython.Worker.Host;
internal static class Program
{
[SuppressMessage(
"Design",
"CA1031:Do not catch general exception types",
Justification = "The executable boundary reports a bounded startup failure on stderr."
)]
[SuppressMessage(
"Reliability",
"CA2007:Consider calling ConfigureAwait on the awaited task",
Justification = "Await-using declarations dispose process standard streams at the executable boundary."
)]
public static async Task<int> Main(string[] args)
{
try
{
var options = WorkerHostOptions.Parse(args);
await using var host = new WorkerHost(options);
await using var input = Console.OpenStandardInput();
await using var output = Console.OpenStandardOutput();
await host.RunAsync(input, output).ConfigureAwait(false);
return 0;
}
catch (Exception exception)
{
await Console.Error.WriteLineAsync(exception.Message).ConfigureAwait(false);
return 1;
}
}
}