1- // SPDX-FileCopyrightText: 2023-2024 MOD Audio UG
2- // SPDX-License-Identifier: AGPL-3.0-or-later
1+ /*
2+ * DISTRHO Plugin Framework (DPF)
3+ * Copyright (C) 2012-2024 Filipe Coelho <falktx@falktx.com>
4+ *
5+ * Permission to use, copy, modify, and/or distribute this software for any purpose with
6+ * or without fee is hereby granted, provided that the above copyright notice and this
7+ * permission notice appear in all copies.
8+ *
9+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
10+ * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
11+ * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
13+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15+ */
316
417#pragma once
518
@@ -24,13 +37,18 @@ START_NAMESPACE_DISTRHO
2437class ChildProcess
2538{
2639 #ifdef _WIN32
27- PROCESS_INFORMATION pinfo = { INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 } ;
40+ PROCESS_INFORMATION pinfo;
2841 #else
29- pid_t pid = - 1 ;
42+ pid_t pid;
3043 #endif
3144
3245public:
3346 ChildProcess ()
47+ #ifdef _WIN32
48+ : pinfo(CPP_AGGREGATE_INIT(PROCESS_INFORMATION){ INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 })
49+ #else
50+ : pid(-1 )
51+ #endif
3452 {
3553 }
3654
@@ -120,7 +138,7 @@ class ChildProcess
120138 return ;
121139
122140 const PROCESS_INFORMATION opinfo = pinfo;
123- pinfo = { INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 };
141+ pinfo = (PROCESS_INFORMATION) { INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 };
124142
125143 for (DWORD exitCode;;)
126144 {
@@ -226,7 +244,7 @@ class ChildProcess
226244 WaitForSingleObject (pinfo.hProcess , 0 ) != WAIT_TIMEOUT)
227245 {
228246 const PROCESS_INFORMATION opinfo = pinfo;
229- pinfo = { INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 };
247+ pinfo = (PROCESS_INFORMATION) { INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE, 0 , 0 };
230248 CloseHandle (opinfo.hThread );
231249 CloseHandle (opinfo.hProcess );
232250 return false ;
0 commit comments