summaryrefslogtreecommitdiff
path: root/java/nio/channels/spi/SelectorProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/nio/channels/spi/SelectorProvider.java')
-rw-r--r--java/nio/channels/spi/SelectorProvider.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/java/nio/channels/spi/SelectorProvider.java b/java/nio/channels/spi/SelectorProvider.java
index 821bc4361..18b9e83b6 100644
--- a/java/nio/channels/spi/SelectorProvider.java
+++ b/java/nio/channels/spi/SelectorProvider.java
@@ -46,6 +46,8 @@ import java.nio.channels.Pipe;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
/**
* @author Michael Koch
@@ -145,14 +147,18 @@ public abstract class SelectorProvider
* Returns the system-wide default selector provider for this invocation
* of the Java virtual machine.
*
- * @return the default seletor provider
+ * @return the default selector provider
*/
public static synchronized SelectorProvider provider()
{
if (systemDefaultProvider == null)
{
- String propertyValue =
- System.getProperty("java.nio.channels.spi.SelectorProvider");
+ String propertyValue = AccessController.doPrivileged(new PrivilegedAction<String> () {
+ public String run()
+ {
+ return System.getProperty("java.nio.channels.spi.SelectorProvider");
+ }
+ });
if (propertyValue == null || propertyValue.equals(""))
systemDefaultProvider = new SelectorProviderImpl();