8023786: (jdk) setjmp/longjmp changes the process signal mask on OS X
authorsla
Thu, 29 Aug 2013 11:22:44 +0200
changeset 19610 2073a59a2787
parent 19609 108f52a7438f
child 19611 0c8d4fbae4f2
8023786: (jdk) setjmp/longjmp changes the process signal mask on OS X Reviewed-by: dholmes
jdk/src/share/back/SDE.c
jdk/src/share/native/common/check_code.c
--- a/jdk/src/share/back/SDE.c	Wed Aug 28 22:11:14 2013 +0200
+++ b/jdk/src/share/back/SDE.c	Thu Aug 29 11:22:44 2013 +0200
@@ -28,6 +28,12 @@
 #include "util.h"
 #include "SDE.h"
 
+#ifdef __APPLE__
+/* use setjmp/longjmp versions that do not save/restore the signal mask */
+#define setjmp _setjmp
+#define longjmp _longjmp
+#endif
+
 /**
  * This SourceDebugExtension code does not
  * allow concurrent translation - due to caching method.
--- a/jdk/src/share/native/common/check_code.c	Wed Aug 28 22:11:14 2013 +0200
+++ b/jdk/src/share/native/common/check_code.c	Thu Aug 29 11:22:44 2013 +0200
@@ -90,6 +90,12 @@
 #include "classfile_constants.h"
 #include "opcodes.in_out"
 
+#ifdef __APPLE__
+/* use setjmp/longjmp versions that do not save/restore the signal mask */
+#define setjmp _setjmp
+#define longjmp _longjmp
+#endif
+
 #define MAX_ARRAY_DIMENSIONS 255
 /* align byte code */
 #ifndef ALIGN_UP