diff options
| author | 2023-11-17 20:22:38 +0200 | |
|---|---|---|
| committer | 2023-11-25 00:46:15 -0500 | |
| commit | 20011dfeb8d1fa00a862e9b31ce10ceca8015fa2 (patch) | |
| tree | 9c1ab232863147e0121ed62276528fc59accdf7c /src/common/signal_chain.h | |
| parent | Merge pull request #11889 from t895/ini-lib (diff) | |
| download | yuzu-20011dfeb8d1fa00a862e9b31ce10ceca8015fa2.tar.gz yuzu-20011dfeb8d1fa00a862e9b31ce10ceca8015fa2.tar.xz yuzu-20011dfeb8d1fa00a862e9b31ce10ceca8015fa2.zip | |
common: Add libc sigaction hook
Diffstat (limited to 'src/common/signal_chain.h')
| -rw-r--r-- | src/common/signal_chain.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/common/signal_chain.h b/src/common/signal_chain.h new file mode 100644 index 000000000..e3bfe6882 --- /dev/null +++ b/src/common/signal_chain.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #ifndef _WIN32 | ||
| 7 | |||
| 8 | #include <signal.h> | ||
| 9 | |||
| 10 | namespace Common { | ||
| 11 | |||
| 12 | // Android's ART overrides sigaction with its own wrapper. This is problematic for SIGSEGV | ||
| 13 | // in particular, because ARTs handler access TPIDR_EL0, so this extracts the libc version | ||
| 14 | // and calls it directly. | ||
| 15 | int SigAction(int signum, const struct sigaction* act, struct sigaction* oldact); | ||
| 16 | |||
| 17 | } // namespace Common | ||
| 18 | |||
| 19 | #endif | ||