From 529d30b0daa69a6653658283eb4a12e6688cfb2b Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Sat, 8 Oct 2022 21:15:21 -0300 Subject: [PATCH] core: handle sigaction on Windows --- src/core/model/fatal-impl.cc | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/core/model/fatal-impl.cc b/src/core/model/fatal-impl.cc index 6f8db52f4..36d31e6e2 100644 --- a/src/core/model/fatal-impl.cc +++ b/src/core/model/fatal-impl.cc @@ -27,6 +27,39 @@ #include #include +#ifdef __WIN32__ +struct sigaction +{ + void (*sa_handler)(int); + int sa_flags; + int sa_mask; +}; + +int +sigaction(int sig, struct sigaction* action, struct sigaction* old) +{ + if (sig == -1) + { + return 0; + } + if (old == nullptr) + { + if (signal(sig, SIG_DFL) == SIG_ERR) + { + return -1; + } + } + else + { + if (signal(sig, action->sa_handler) == SIG_ERR) + { + return -1; + } + } + return 0; +} +#endif + /** * \file * \ingroup fatalimpl