On Thu, 10 Feb 2022 23:27:49 GMT, Mandy Chung <mch...@openjdk.org> 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

Reply via email to