On Thu, 19 May 2022 17:23:58 GMT, Alexander Zvegintsev <[email protected]>
wrote:
>> This is a theoretical/potential case of calling JNI methods with a possible
>> execption pending.
>> As noted in the eval of the bug report, we no longer follow the practice
>> that AWT_LOCK is
>> called only at the start of a native method and AWT_UNLOCK at the end, if
>> indeed we ever did.
>> But it seems to be implied in how they are handling exceptions.
>
> src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c line 1432:
>
>> 1430: }
>> 1431: (*env)->CallVoidMethod(env, this, midAddVisual,
>> (visInfo[i]).visual);
>> 1432: if ((*env)->ExceptionCheck(env)) {
>
> Looks like this `if` block can be removed, since it is effectively handled by
> check above.
No .. that check is needed since CallVoidMethod() could raise an exception
-------------
PR: https://git.openjdk.java.net/jdk/pull/8493