#include #include "SignalHandlers.hpp" extern "C" int RegisterSetjmp( void **buf_storage, void (*body)(void*), void *payload) { jmp_buf buf; if (setjmp(buf) != 0) { return 0; } *buf_storage = &buf; body(payload); return 1; } extern "C" void Unwind(void *JmpBuf) { jmp_buf *buf = (jmp_buf*) JmpBuf; longjmp(*buf, 1); }