jdk/src/java.base/windows/classes/sun/nio/ch/FileDispatcherImpl.java
changeset 37593 824750ada3d6
parent 32834 e1dca5fe4de3
child 37781 71ed5645f17c
equal deleted inserted replaced
37592:c80f098887f4 37593:824750ada3d6
    25 
    25 
    26 package sun.nio.ch;
    26 package sun.nio.ch;
    27 
    27 
    28 import java.io.FileDescriptor;
    28 import java.io.FileDescriptor;
    29 import java.io.IOException;
    29 import java.io.IOException;
    30 import java.security.PrivilegedAction;
       
    31 import jdk.internal.misc.SharedSecrets;
    30 import jdk.internal.misc.SharedSecrets;
    32 import jdk.internal.misc.JavaIOFileDescriptorAccess;
    31 import jdk.internal.misc.JavaIOFileDescriptorAccess;
       
    32 import sun.security.action.GetPropertyAction;
    33 
    33 
    34 class FileDispatcherImpl extends FileDispatcher {
    34 class FileDispatcherImpl extends FileDispatcher {
    35 
    35 
    36     private static final JavaIOFileDescriptorAccess fdAccess =
    36     private static final JavaIOFileDescriptorAccess fdAccess =
    37         SharedSecrets.getJavaIOFileDescriptorAccess();
    37         SharedSecrets.getJavaIOFileDescriptorAccess();
   117     boolean transferToDirectlyNeedsPositionLock() {
   117     boolean transferToDirectlyNeedsPositionLock() {
   118         return true;
   118         return true;
   119     }
   119     }
   120 
   120 
   121     static boolean isFastFileTransferRequested() {
   121     static boolean isFastFileTransferRequested() {
   122         String fileTransferProp = java.security.AccessController.doPrivileged(
   122         String fileTransferProp = GetPropertyAction
   123             new PrivilegedAction<String>() {
   123                 .getProperty("jdk.nio.enableFastFileTransfer");
   124                 @Override
       
   125                 public String run() {
       
   126                     return System.getProperty("jdk.nio.enableFastFileTransfer");
       
   127                 }
       
   128             });
       
   129         boolean enable;
   124         boolean enable;
   130         if ("".equals(fileTransferProp)) {
   125         if ("".equals(fileTransferProp)) {
   131             enable = true;
   126             enable = true;
   132         } else {
   127         } else {
   133             enable = Boolean.parseBoolean(fileTransferProp);
   128             enable = Boolean.parseBoolean(fileTransferProp);