On Thu, 10 Feb 2022 23:27:49 GMT, Mandy Chung <[email protected]> wrote:
> This patch removes the restriction in the raw library loading mechanism that
> does not allow mix-n-match of loading a library as a JNI library and as a raw
> library.
>
> The raw library loading mechanism is designed for panama to load native
> library essentially equivalent to dlopen/dlclose calls independent of JNI
> library loading. If a native library is loaded as a JNI library and a raw
> library, it will get different NativeLibrary instances. When a class loader
> is being unloaded, JNI_Unload will be invoked but the native library may not
> be unloaded until NativeLibrary::unload is explicitly called for the raw
> library.
LGTM
src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java line 58:
> 56: * will fail.
> 57: */
> 58: public abstract class NativeLibraries {
could this be sealed with only two specific subtypes defined here?
src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java line 251:
> 249: // do not search java.library.path
> 250: super(loader, loader != null ? null : NativeLibraries.class,
> 251: loader != null ? true : false);
The last argument expression of the super class could be just loader != null
-------------
Marked as reviewed by sundar (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7435