mirror of
https://gitlab.com/suyu-emu/suyu.git
synced 2024-03-15 23:15:44 +00:00
3e6c835a64
Spawns a child using fork and exec as opposed to fork alone. Workaround for the macos file manager complaining about not supporting fork without exec. Control flow for *nix is now roughly the same as for Windows.
25 lines
681 B
C++
25 lines
681 B
C++
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
#elif defined(YUZU_UNIX)
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
constexpr char IS_CHILD_ENV_VAR[] = "YUZU_IS_CHILD";
|
|
constexpr char STARTUP_CHECK_ENV_VAR[] = "YUZU_DO_STARTUP_CHECKS";
|
|
constexpr char ENV_VAR_ENABLED_TEXT[] = "ON";
|
|
|
|
void CheckVulkan();
|
|
bool CheckEnvVars(bool* is_child);
|
|
bool StartupChecks(const char* arg0, bool* has_broken_vulkan, bool perform_vulkan_check);
|
|
|
|
#ifdef _WIN32
|
|
bool SpawnChild(const char* arg0, PROCESS_INFORMATION* pi, int flags);
|
|
#elif defined(YUZU_UNIX)
|
|
pid_t SpawnChild(const char* arg0);
|
|
#endif
|