src/java.base/share/classes/java/net/InetAddress.java
branchaefimov-dns-client-branch
changeset 59100 b92aac38b046
parent 58870 35c438a6d45c
equal deleted inserted replaced
59099:fcdb8e7ead8f 59100:b92aac38b046
    27 
    27 
    28 import java.util.NavigableSet;
    28 import java.util.NavigableSet;
    29 import java.util.ArrayList;
    29 import java.util.ArrayList;
    30 import java.util.Objects;
    30 import java.util.Objects;
    31 import java.util.Scanner;
    31 import java.util.Scanner;
    32 import java.security.AccessController;
       
    33 import java.io.File;
    32 import java.io.File;
    34 import java.io.FileNotFoundException;
    33 import java.io.FileNotFoundException;
    35 import java.io.ObjectStreamException;
    34 import java.io.ObjectStreamException;
    36 import java.io.ObjectStreamField;
    35 import java.io.ObjectStreamField;
    37 import java.io.IOException;
    36 import java.io.IOException;
   347         if (VM.isBooted()) {
   346         if (VM.isBooted()) {
   348             synchronized (NameService.class) {
   347             synchronized (NameService.class) {
   349                 if (nameService != null) {
   348                 if (nameService != null) {
   350                     return nameService;
   349                     return nameService;
   351                 }
   350                 }
   352                 var nameService = ServiceLoader.load(NameService.class)
   351                 String hostsFileProperty = GetPropertyAction.privilegedGetProperty("jdk.net.hosts.file");
   353                         .findFirst()
   352                 var cns = hostsFileProperty == null ?
   354                         .orElse(defaultNameService);
   353                         ServiceLoader.load(NameService.class).findFirst().orElse(defaultNameService)
   355                 InetAddress.nameService = nameService;
   354                         : defaultNameService;
       
   355                 InetAddress.nameService = cns;
   356                 return nameService;
   356                 return nameService;
   357             }
   357             }
   358         } else {
   358         } else {
   359             return defaultNameService;
   359             return defaultNameService;
   360         }
   360         }