RFR: JDK-8028726 - (prefs) Check src/solaris/native/java/util/FileSystemPreferences.c for JNI pending exceptions

Dan Xu dan.xu at oracle.com
Wed Jan 8 00:50:28 UTC 2014

Hi All,

Thanks for your good review. I have dropped the change in 
FileSystemPreferences.java , and created the new webrev which only 
changes FileSystemPreferences.c. Please help review it. Thanks!

Webrev: http://cr.openjdk.java.net/~dxu/8028726/webrev.01/

When changing FileSystemPreferences.c, I noticed the code like 
"JNU_GetStringPlatformChars(env, java_fname, JNI_FALSE)". Because 
JNI_FALSE is passed into this function, I am wondering why our code 
still release string by calling JNU_ReleaseStringPlatformChars(env, 
java_fname, fname). Thanks!


On 01/07/2014 01:36 AM, Alan Bateman wrote:
> On 06/01/2014 22:29, Dan Xu wrote:
>> Hi All,
>> Please review the simple fix for JNI pending exceptions in 
>> FileSystemPreferences.c. Thanks!
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8028726
>> Webrev: http://cr.openjdk.java.net/~dxu/8028726/webrev/
> The update to FIleSystemPreferences.c looks okay but if I read it 
> correctly then lockFile0 can never return NULL without a pending 
> exception (meaning that the change to FileSystemPreferences.java could 
> mask an underlying bug if it existed).
> One passing comment is that this native methods could be completely 
> eliminated here by changing FileSystemPreferences to lock the file via 
> a FileChannel (use a FileLock as the lock handle). Also the chmod 
> usage can be eliminated by mkdirs with Files.createDirectory and 
> specify the permission files when creating the directory. I realize 
> this is beyond the scope of what you are doing here (but an 
> opportunity none the less).
> -Alan

More information about the core-libs-dev mailing list