From 764201fdae7cb41494d9a9f945c5eba899976fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 25 Oct 2004 23:29:24 +0000 Subject: [PATCH] Added a workaround for buggy BeOS (all versions) - if you need the setjmp.h header, you should define COMPILE_FOR_R5 when you want to run the software under R5 in order not to crash. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9511 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/posix/setjmp.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/headers/posix/setjmp.h b/headers/posix/setjmp.h index adb1555929..49612b0337 100644 --- a/headers/posix/setjmp.h +++ b/headers/posix/setjmp.h @@ -29,6 +29,14 @@ extern void _longjmp(jmp_buf jumpBuffer, int value); extern void longjmp(jmp_buf jumpBuffer, int value); extern void siglongjmp(sigjmp_buf jumpBuffer, int value); +// ToDo: this is a temporary workaround for a bug in BeOS +// (it exports setjmp/sigsetjmp functions that do not work) +#ifdef COMPILE_FOR_R5 +# define setjmp(buffer) __sigsetjmp((buffer), 0) +# define sigsetjmp(buffer, mask) __sigsetjmp((buffer), (mask)) +extern int __sigsetjmp(jmp_buf buffer, int saveMask); +#endif + #ifdef __cplusplus } #endif