diff --git a/src/process/CommandTask.cs b/src/process/CommandTask.cs index a6c3f5c..186023a 100644 --- a/src/process/CommandTask.cs +++ b/src/process/CommandTask.cs @@ -8,7 +8,7 @@ namespace Geekeey.Process; /// /// Represents an asynchronous execution of a command. /// -public sealed partial class CommandTask : IDisposable +public partial class CommandTask : IDisposable { private readonly Process _process; @@ -19,6 +19,14 @@ public sealed partial class CommandTask : IDisposable ProcessId = processId; } + /// + /// Finalizer to ensure resources are released. + /// + ~CommandTask() + { + Dispose(); + } + /// /// Underlying task. /// @@ -79,10 +87,11 @@ public sealed partial class CommandTask : IDisposable public void Dispose() { Task.Dispose(); + GC.SuppressFinalize(this); } } -public sealed partial class CommandTask +public partial class CommandTask { /// /// Converts the command task into a regular task. @@ -91,4 +100,4 @@ public sealed partial class CommandTask { return commandTask.Task; } -} +} \ No newline at end of file