Skip to content

Commit

Permalink
[Group 9] Enable nullable annotations for `Microsoft.Extensions.Hosti…
Browse files Browse the repository at this point in the history
…ng.Systemd` (#67513)

Fix #43605

* Annotate

* Fix API compat check by removing MemberNotNullWhen attribute.

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
  • Loading branch information
maxkoshevoi and eerhardt authored Apr 18, 2022
1 parent 8ea879a commit 9849af2
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.1</TargetFrameworks>
<Nullable>enable</Nullable>
<EnableDefaultItems>true</EnableDefaultItems>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.1</TargetFrameworks>
<Nullable>enable</Nullable>
<EnableDefaultItems>true</EnableDefaultItems>
<PackageDescription>.NET hosting infrastructure for Systemd Services.</PackageDescription>
<!-- Use targeting pack references instead of granular ones in the project file. -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ public struct ServiceState
/// <summary>
/// Create custom ServiceState.
/// </summary>
public ServiceState(string state)
public ServiceState(string state!!)
{
_data = Encoding.UTF8.GetBytes(state ?? throw new ArgumentNullException(nameof(state)));
_data = Encoding.UTF8.GetBytes(state);
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ public Task WaitForStartAsync(CancellationToken cancellationToken)
{
_applicationStartedRegistration = ApplicationLifetime.ApplicationStarted.Register(state =>
{
((SystemdLifetime)state).OnApplicationStarted();
((SystemdLifetime)state!).OnApplicationStarted();
},
this);
_applicationStoppingRegistration = ApplicationLifetime.ApplicationStopping.Register(state =>
{
((SystemdLifetime)state).OnApplicationStopping();
((SystemdLifetime)state!).OnApplicationStopping();
},
this);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace Microsoft.Extensions.Hosting.Systemd
{
public partial class SystemdLifetime
{
private PosixSignalRegistration _sigTermRegistration;
private PosixSignalRegistration? _sigTermRegistration;

private partial void RegisterShutdownHandlers()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ public class SystemdNotifier : ISystemdNotifier
{
private const string NOTIFY_SOCKET = "NOTIFY_SOCKET";

private readonly string _socketPath;
private readonly string? _socketPath;

public SystemdNotifier() :
this(GetNotifySocketPath())
{ }

// For testing
internal SystemdNotifier(string socketPath)
internal SystemdNotifier(string? socketPath)
{
_socketPath = socketPath;
}
Expand All @@ -37,7 +37,7 @@ public void Notify(ServiceState state)

using (var socket = new Socket(AddressFamily.Unix, SocketType.Dgram, ProtocolType.Unspecified))
{
var endPoint = new UnixDomainSocketEndPoint(_socketPath);
var endPoint = new UnixDomainSocketEndPoint(_socketPath!);
socket.Connect(endPoint);

// It's safe to do a non-blocking call here: messages sent here are much
Expand All @@ -46,9 +46,9 @@ public void Notify(ServiceState state)
}
}

private static string GetNotifySocketPath()
private static string? GetNotifySocketPath()
{
string socketPath = Environment.GetEnvironmentVariable(NOTIFY_SOCKET);
string? socketPath = Environment.GetEnvironmentVariable(NOTIFY_SOCKET);

if (string.IsNullOrEmpty(socketPath))
{
Expand Down

0 comments on commit 9849af2

Please sign in to comment.