mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-07-31 11:15:52 +00:00
Catching of sigsegv and sigfpe with structured exceptions on win
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#ifndef TRY_CATCH_SIGNAL_SEH_HPP
|
||||
#define TRY_CATCH_SIGNAL_SEH_HPP
|
||||
|
||||
#include <functional>
|
||||
#include <csignal>
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
using SignalT = decltype (SIGSEGV);
|
||||
|
||||
namespace detail {
|
||||
|
||||
void try_catch_signal_seh(int sigcnt, const SignalT *sigs,
|
||||
std::function<void()> &&fn,
|
||||
std::function<void()> &&cfn);
|
||||
|
||||
}
|
||||
|
||||
template<class TryFn, class CatchFn, int N>
|
||||
void try_catch_signal(const SignalT (&sigs)[N], TryFn &&fn, CatchFn &&cfn)
|
||||
{
|
||||
detail::try_catch_signal_seh(N, sigs, fn, cfn);
|
||||
}
|
||||
|
||||
} // Slic3r
|
||||
|
||||
#endif // TRY_CATCH_SIGNAL_SEH_HPP
|
||||
Reference in New Issue
Block a user