8068033: JNI exception pending in jdk/src/share/bin/java.c
Reviewed-by: mchung, serb
--- a/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Tue Feb 03 08:45:07 2015 -0800
+++ b/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Tue Feb 03 09:49:27 2015 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1059,6 +1059,7 @@
void PostJVMInit(JNIEnv *env, jstring mainClass, JavaVM *vm) {
jvmInstance = vm;
SetMainClassForAWT(env, mainClass);
+ CHECK_EXCEPTION_RETURN();
ShowSplashScreen();
}
--- a/jdk/src/java.base/share/native/libjli/java.c Tue Feb 03 08:45:07 2015 -0800
+++ b/jdk/src/java.base/share/native/libjli/java.c Tue Feb 03 09:49:27 2015 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -350,12 +350,6 @@
} \
} while (JNI_FALSE)
-#define CHECK_EXCEPTION_RETURN() \
- do { \
- if ((*env)->ExceptionOccurred(env)) { \
- return; \
- } \
- } while (JNI_FALSE)
int JNICALL
JavaMain(void * _args)
@@ -466,6 +460,7 @@
* of the application class.
*/
PostJVMInit(env, appClass, vm);
+ CHECK_EXCEPTION_LEAVE(1);
/*
* The LoadMainClass not only loads the main class, it will also ensure
* that the main method's signature is correct, therefore further checking
--- a/jdk/src/java.base/share/native/libjli/java.h Tue Feb 03 08:45:07 2015 -0800
+++ b/jdk/src/java.base/share/native/libjli/java.h Tue Feb 03 09:49:27 2015 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -254,4 +254,11 @@
#define NULL_CHECK(NC_check_pointer) \
NULL_CHECK_RETURN_VALUE(NC_check_pointer, )
+#define CHECK_EXCEPTION_RETURN() \
+ do { \
+ if ((*env)->ExceptionOccurred(env)) { \
+ return; \
+ } \
+ } while (JNI_FALSE)
+
#endif /* _JAVA_H_ */