From 58020c81c9e6067bf34f23cd7da98b53912e60de Mon Sep 17 00:00:00 2001 From: AliveDevil Date: Sat, 13 Jan 2024 21:14:14 +0100 Subject: [PATCH] Review --- ext/kea/{dhcp4.leases => kea-leases4.csv} | 0 ext/kea/{dhcp6.leases => kea-leases6.csv} | 0 src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs | 6 +++++- src/pdns-dhcp/Program.cs | 2 +- src/pdns-dhcp/appsettings.Development.json | 4 ++-- src/pdns-dhcp/appsettings.json | 4 ++-- src/pdns-dhcp/pdns-dhcp.csproj | 1 - 7 files changed, 10 insertions(+), 7 deletions(-) rename ext/kea/{dhcp4.leases => kea-leases4.csv} (100%) rename ext/kea/{dhcp6.leases => kea-leases6.csv} (100%) diff --git a/ext/kea/dhcp4.leases b/ext/kea/kea-leases4.csv similarity index 100% rename from ext/kea/dhcp4.leases rename to ext/kea/kea-leases4.csv diff --git a/ext/kea/dhcp6.leases b/ext/kea/kea-leases6.csv similarity index 100% rename from ext/kea/dhcp6.leases rename to ext/kea/kea-leases6.csv diff --git a/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs b/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs index c3487fd..e6c619f 100644 --- a/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs +++ b/src/pdns-dhcp/Kea/KeaDhcpLeaseWatcher.cs @@ -170,11 +170,15 @@ public sealed class KeaDhcpLeaseWatcher : IHostedService { if (reader is null) { + // LongRunning, force spawning a thread + // As this may block for a long time. reader = await Task.Factory.StartNew( s => MemfileReader.From((Stream)s!), _pipe.Reader.AsStream(), stoppingToken, - TaskCreationOptions.AttachedToParent, TaskScheduler.Default); + TaskCreationOptions.DenyChildAttach | TaskCreationOptions.LongRunning, + TaskScheduler.Default) + .ConfigureAwait(false); continue; } diff --git a/src/pdns-dhcp/Program.cs b/src/pdns-dhcp/Program.cs index 71dfeac..1d47dd3 100644 --- a/src/pdns-dhcp/Program.cs +++ b/src/pdns-dhcp/Program.cs @@ -60,7 +60,7 @@ builder.Services.Configure(options => builder.WebHost.ConfigureKestrel((context, options) => { - if (context.Configuration.GetRequiredSection("PowerDns:Listener").Get() is { } pdnsOptions) + if (context.Configuration.GetSection("PowerDns:Listener").Get() is { } pdnsOptions) { var path = PathEx.ExpandPath(pdnsOptions.Socket); FileInfo file = new(path); diff --git a/src/pdns-dhcp/appsettings.Development.json b/src/pdns-dhcp/appsettings.Development.json index dd2f5bf..a2fbe6c 100644 --- a/src/pdns-dhcp/appsettings.Development.json +++ b/src/pdns-dhcp/appsettings.Development.json @@ -2,10 +2,10 @@ "Dhcp": { "Kea": { "Dhcp4": { - "Leases": "../../ext/kea/dhcp4.leases" + "Leases": "../../ext/kea/kea-leases4.csv" }, "Dhcp6": { - "Leases": "../../ext/kea/dhcp6.leases" + "Leases": "../../ext/kea/kea-leases6.csv" } } }, diff --git a/src/pdns-dhcp/appsettings.json b/src/pdns-dhcp/appsettings.json index e345227..bda961c 100644 --- a/src/pdns-dhcp/appsettings.json +++ b/src/pdns-dhcp/appsettings.json @@ -2,10 +2,10 @@ "Dhcp": { "Kea": { "Dhcp4": { - "Leases": "/var/lib/kea/dhcp4.leases" + "Leases": "/var/lib/kea/kea-leases4.csv" }, "Dhcp6": { - "Leases": "/var/lib/kea/dhcp6.leases" + "Leases": "/var/lib/kea/kea-leases6.csv" } } }, diff --git a/src/pdns-dhcp/pdns-dhcp.csproj b/src/pdns-dhcp/pdns-dhcp.csproj index 965bf09..f0414a1 100644 --- a/src/pdns-dhcp/pdns-dhcp.csproj +++ b/src/pdns-dhcp/pdns-dhcp.csproj @@ -17,7 +17,6 @@ -