Răsfoiți Sursa

Disable raising events

NextTurn 5 ani în urmă
părinte
comite
e97bc5bc72
1 a modificat fișierele cu 11 adăugiri și 1 ștergeri
  1. 11 1
      src/WinSW/WrapperService.cs

+ 11 - 1
src/WinSW/WrapperService.cs

@@ -532,6 +532,9 @@ namespace WinSW
             }
         }
 
+        /// <summary>
+        /// <paramref name="onExited"/> will not be raised if <see cref="Process.EnableRaisingEvents"/> is <see langword="false"/>.
+        /// </summary>
         private Process StartProcess(string executable, string? arguments, LogHandler? logHandler = null, Action<Process>? onExited = null)
         {
             var startInfo = new ProcessStartInfo(executable, arguments)
@@ -588,9 +591,16 @@ namespace WinSW
             {
                 process.Exited += (sender, _) =>
                 {
+                    Process process = (Process)sender!;
+
+                    if (!process.EnableRaisingEvents)
+                    {
+                        return;
+                    }
+
                     try
                     {
-                        onExited((Process)sender!);
+                        onExited(process);
                     }
                     catch (Exception e)
                     {