소스 검색

Disable raising events

NextTurn 5 년 전
부모
커밋
e97bc5bc72
1개의 변경된 파일11개의 추가작업 그리고 1개의 파일을 삭제
  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)
                     {