Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
11b46ddc
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
11b46ddc
编写于
8月 28, 2013
作者:
A
alanb
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8022594: Potential deadlock in <clinit> of sun.nio.ch.Util/IOUtil
Reviewed-by: chegar
上级
0fb1f64f
变更
41
隐藏空白更改
内联
并排
Showing
41 changed file
with
55 addition
and
89 deletion
+55
-89
src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
+1
-0
src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
+0
-5
src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
+0
-5
src/share/classes/sun/nio/ch/DatagramChannelImpl.java
src/share/classes/sun/nio/ch/DatagramChannelImpl.java
+1
-1
src/share/classes/sun/nio/ch/FileChannelImpl.java
src/share/classes/sun/nio/ch/FileChannelImpl.java
+1
-1
src/share/classes/sun/nio/ch/IOUtil.java
src/share/classes/sun/nio/ch/IOUtil.java
+16
-2
src/share/classes/sun/nio/ch/Net.java
src/share/classes/sun/nio/ch/Net.java
+1
-1
src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
+1
-1
src/share/classes/sun/nio/ch/SocketChannelImpl.java
src/share/classes/sun/nio/ch/SocketChannelImpl.java
+1
-1
src/share/classes/sun/nio/ch/Util.java
src/share/classes/sun/nio/ch/Util.java
+0
-26
src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
+1
-1
src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
+4
-0
src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
+0
-5
src/solaris/classes/sun/nio/ch/EPoll.java
src/solaris/classes/sun/nio/ch/EPoll.java
+1
-1
src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
+1
-0
src/solaris/classes/sun/nio/ch/EPollPort.java
src/solaris/classes/sun/nio/ch/EPollPort.java
+1
-1
src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
+0
-4
src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
+1
-1
src/solaris/classes/sun/nio/ch/InheritedChannel.java
src/solaris/classes/sun/nio/ch/InheritedChannel.java
+1
-1
src/solaris/classes/sun/nio/ch/KQueue.java
src/solaris/classes/sun/nio/ch/KQueue.java
+1
-1
src/solaris/classes/sun/nio/ch/KQueuePort.java
src/solaris/classes/sun/nio/ch/KQueuePort.java
+1
-1
src/solaris/classes/sun/nio/ch/NativeThread.java
src/solaris/classes/sun/nio/ch/NativeThread.java
+1
-1
src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
+3
-0
src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
+1
-7
src/solaris/classes/sun/nio/ch/SolarisEventPort.java
src/solaris/classes/sun/nio/ch/SolarisEventPort.java
+1
-1
src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
+1
-7
src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
...s/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
+1
-1
src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
...classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
+1
-1
src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
+1
-1
src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
...solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
+1
-1
src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
...olaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
+1
-1
src/windows/classes/sun/nio/ch/DatagramDispatcher.java
src/windows/classes/sun/nio/ch/DatagramDispatcher.java
+1
-1
src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
+1
-1
src/windows/classes/sun/nio/ch/FileKey.java
src/windows/classes/sun/nio/ch/FileKey.java
+1
-0
src/windows/classes/sun/nio/ch/Iocp.java
src/windows/classes/sun/nio/ch/Iocp.java
+1
-1
src/windows/classes/sun/nio/ch/PipeImpl.java
src/windows/classes/sun/nio/ch/PipeImpl.java
+0
-1
src/windows/classes/sun/nio/ch/SocketDispatcher.java
src/windows/classes/sun/nio/ch/SocketDispatcher.java
+1
-1
src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
...lasses/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
+1
-1
src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
...un/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
+1
-1
src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
...sses/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
+1
-1
src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
+1
-1
未找到文件。
src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
浏览文件 @
11b46ddc
...
@@ -87,6 +87,7 @@ class KQueueArrayWrapper {
...
@@ -87,6 +87,7 @@ class KQueueArrayWrapper {
private
int
incomingInterruptFD
;
private
int
incomingInterruptFD
;
static
{
static
{
IOUtil
.
load
();
initStructSizes
();
initStructSizes
();
String
datamodel
=
java
.
security
.
AccessController
.
doPrivileged
(
String
datamodel
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetPropertyAction
(
"sun.arch.data.model"
)
new
sun
.
security
.
action
.
GetPropertyAction
(
"sun.arch.data.model"
)
...
...
src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
浏览文件 @
11b46ddc
...
@@ -246,9 +246,4 @@ class KQueueSelectorImpl
...
@@ -246,9 +246,4 @@ class KQueueSelectorImpl
}
}
return
this
;
return
this
;
}
}
static
{
Util
.
load
();
}
}
}
src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
浏览文件 @
11b46ddc
...
@@ -193,9 +193,4 @@ abstract class AbstractPollSelectorImpl
...
@@ -193,9 +193,4 @@ abstract class AbstractPollSelectorImpl
if
(!
selch
.
isOpen
()
&&
!
selch
.
isRegistered
())
if
(!
selch
.
isOpen
()
&&
!
selch
.
isRegistered
())
((
SelChImpl
)
selch
).
kill
();
((
SelChImpl
)
selch
).
kill
();
}
}
static
{
Util
.
load
();
}
}
}
src/share/classes/sun/nio/ch/DatagramChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -1138,7 +1138,7 @@ class DatagramChannelImpl
...
@@ -1138,7 +1138,7 @@ class DatagramChannelImpl
throws
IOException
;
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
}
}
...
...
src/share/classes/sun/nio/ch/FileChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -1162,7 +1162,7 @@ public class FileChannelImpl
...
@@ -1162,7 +1162,7 @@ public class FileChannelImpl
private
static
native
long
initIDs
();
private
static
native
long
initIDs
();
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
allocationGranularity
=
initIDs
();
allocationGranularity
=
initIDs
();
}
}
...
...
src/share/classes/sun/nio/ch/IOUtil.java
浏览文件 @
11b46ddc
...
@@ -347,9 +347,23 @@ public class IOUtil {
...
@@ -347,9 +347,23 @@ public class IOUtil {
static
native
void
initIDs
();
static
native
void
initIDs
();
/**
* Used to trigger loading of native libraries
*/
public
static
void
load
()
{
}
static
{
static
{
// Note that IOUtil.initIDs is called from within Util.load.
java
.
security
.
AccessController
.
doPrivileged
(
Util
.
load
();
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
public
Void
run
()
{
System
.
loadLibrary
(
"net"
);
System
.
loadLibrary
(
"nio"
);
return
null
;
}
});
initIDs
();
IOV_MAX
=
iovMax
();
IOV_MAX
=
iovMax
();
}
}
...
...
src/share/classes/sun/nio/ch/Net.java
浏览文件 @
11b46ddc
...
@@ -582,7 +582,7 @@ public class Net {
...
@@ -582,7 +582,7 @@ public class Net {
private
static
native
void
initIDs
();
private
static
native
void
initIDs
();
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
}
}
...
...
src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -416,7 +416,7 @@ class ServerSocketChannelImpl
...
@@ -416,7 +416,7 @@ class ServerSocketChannelImpl
private
static
native
void
initIDs
();
private
static
native
void
initIDs
();
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
nd
=
new
SocketDispatcher
();
nd
=
new
SocketDispatcher
();
}
}
...
...
src/share/classes/sun/nio/ch/SocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -1024,7 +1024,7 @@ class SocketChannelImpl
...
@@ -1024,7 +1024,7 @@ class SocketChannelImpl
throws
IOException
;
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
nd
=
new
SocketDispatcher
();
nd
=
new
SocketDispatcher
();
}
}
...
...
src/share/classes/sun/nio/ch/Util.java
浏览文件 @
11b46ddc
...
@@ -401,30 +401,4 @@ public class Util {
...
@@ -401,30 +401,4 @@ public class Util {
return
bugLevel
.
equals
(
bl
);
return
bugLevel
.
equals
(
bl
);
}
}
// -- Initialization --
private
static
boolean
loaded
=
false
;
public
static
void
load
()
{
synchronized
(
Util
.
class
)
{
if
(
loaded
)
return
;
loaded
=
true
;
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
public
Void
run
()
{
System
.
loadLibrary
(
"net"
);
System
.
loadLibrary
(
"nio"
);
return
null
;
}
});
// IOUtil must be initialized; Its native methods are called from
// other places in native nio code so they must be set up.
IOUtil
.
initIDs
();
}
}
}
}
src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
浏览文件 @
11b46ddc
...
@@ -36,7 +36,7 @@ import java.net.*;
...
@@ -36,7 +36,7 @@ import java.net.*;
class
DatagramDispatcher
extends
NativeDispatcher
class
DatagramDispatcher
extends
NativeDispatcher
{
{
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
...
...
src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
浏览文件 @
11b46ddc
...
@@ -316,4 +316,8 @@ class DevPollArrayWrapper {
...
@@ -316,4 +316,8 @@ class DevPollArrayWrapper {
private
native
int
poll0
(
long
pollAddress
,
int
numfds
,
long
timeout
,
private
native
int
poll0
(
long
pollAddress
,
int
numfds
,
long
timeout
,
int
wfd
);
int
wfd
);
private
static
native
void
interrupt
(
int
fd
);
private
static
native
void
interrupt
(
int
fd
);
static
{
IOUtil
.
load
();
}
}
}
src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
浏览文件 @
11b46ddc
...
@@ -196,9 +196,4 @@ class DevPollSelectorImpl
...
@@ -196,9 +196,4 @@ class DevPollSelectorImpl
}
}
return
this
;
return
this
;
}
}
static
{
Util
.
load
();
}
}
}
src/solaris/classes/sun/nio/ch/EPoll.java
浏览文件 @
11b46ddc
...
@@ -113,6 +113,6 @@ class EPoll {
...
@@ -113,6 +113,6 @@ class EPoll {
throws
IOException
;
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
浏览文件 @
11b46ddc
...
@@ -318,6 +318,7 @@ class EPollArrayWrapper {
...
@@ -318,6 +318,7 @@ class EPollArrayWrapper {
}
}
static
{
static
{
IOUtil
.
load
();
init
();
init
();
}
}
...
...
src/solaris/classes/sun/nio/ch/EPollPort.java
浏览文件 @
11b46ddc
...
@@ -318,6 +318,6 @@ final class EPollPort
...
@@ -318,6 +318,6 @@ final class EPollPort
private
static
native
void
close0
(
int
fd
);
private
static
native
void
close0
(
int
fd
);
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
浏览文件 @
11b46ddc
...
@@ -196,8 +196,4 @@ class EPollSelectorImpl
...
@@ -196,8 +196,4 @@ class EPollSelectorImpl
}
}
return
this
;
return
this
;
}
}
static
{
Util
.
load
();
}
}
}
src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
浏览文件 @
11b46ddc
...
@@ -31,7 +31,7 @@ class FileDispatcherImpl extends FileDispatcher
...
@@ -31,7 +31,7 @@ class FileDispatcherImpl extends FileDispatcher
{
{
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
init
();
init
();
}
}
...
...
src/solaris/classes/sun/nio/ch/InheritedChannel.java
浏览文件 @
11b46ddc
...
@@ -235,6 +235,6 @@ class InheritedChannel {
...
@@ -235,6 +235,6 @@ class InheritedChannel {
private
static
native
int
peerPort0
(
int
fd
);
private
static
native
int
peerPort0
(
int
fd
);
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/KQueue.java
浏览文件 @
11b46ddc
...
@@ -115,6 +115,6 @@ class KQueue {
...
@@ -115,6 +115,6 @@ class KQueue {
throws
IOException
;
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/KQueuePort.java
浏览文件 @
11b46ddc
...
@@ -326,6 +326,6 @@ final class KQueuePort
...
@@ -326,6 +326,6 @@ final class KQueuePort
private
static
native
void
close0
(
int
fd
);
private
static
native
void
close0
(
int
fd
);
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/NativeThread.java
浏览文件 @
11b46ddc
...
@@ -54,7 +54,7 @@ public class NativeThread {
...
@@ -54,7 +54,7 @@ public class NativeThread {
private
static
native
void
init
();
private
static
native
void
init
();
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
init
();
init
();
}
}
...
...
src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
浏览文件 @
11b46ddc
...
@@ -126,4 +126,7 @@ public class PollArrayWrapper extends AbstractPollArrayWrapper {
...
@@ -126,4 +126,7 @@ public class PollArrayWrapper extends AbstractPollArrayWrapper {
private
static
native
void
interrupt
(
int
fd
);
private
static
native
void
interrupt
(
int
fd
);
static
{
IOUtil
.
load
();
}
}
}
src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -37,7 +37,7 @@ class SinkChannelImpl
...
@@ -37,7 +37,7 @@ class SinkChannelImpl
{
{
// Used to make native read and write calls
// Used to make native read and write calls
private
static
NativeDispatcher
nd
;
private
static
final
NativeDispatcher
nd
=
new
FileDispatcherImpl
()
;
// The file descriptor associated with this channel
// The file descriptor associated with this channel
FileDescriptor
fd
;
FileDescriptor
fd
;
...
@@ -206,10 +206,4 @@ class SinkChannelImpl
...
@@ -206,10 +206,4 @@ class SinkChannelImpl
throw
new
IndexOutOfBoundsException
();
throw
new
IndexOutOfBoundsException
();
return
write
(
Util
.
subsequence
(
srcs
,
offset
,
length
));
return
write
(
Util
.
subsequence
(
srcs
,
offset
,
length
));
}
}
static
{
Util
.
load
();
nd
=
new
FileDispatcherImpl
();
}
}
}
src/solaris/classes/sun/nio/ch/SolarisEventPort.java
浏览文件 @
11b46ddc
...
@@ -260,6 +260,6 @@ class SolarisEventPort
...
@@ -260,6 +260,6 @@ class SolarisEventPort
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -37,7 +37,7 @@ class SourceChannelImpl
...
@@ -37,7 +37,7 @@ class SourceChannelImpl
{
{
// Used to make native read and write calls
// Used to make native read and write calls
private
static
NativeDispatcher
nd
;
private
static
final
NativeDispatcher
nd
=
new
FileDispatcherImpl
()
;
// The file descriptor associated with this channel
// The file descriptor associated with this channel
FileDescriptor
fd
;
FileDescriptor
fd
;
...
@@ -206,10 +206,4 @@ class SourceChannelImpl
...
@@ -206,10 +206,4 @@ class SourceChannelImpl
}
}
}
}
}
}
static
{
Util
.
load
();
nd
=
new
FileDispatcherImpl
();
}
}
}
src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -345,7 +345,7 @@ class UnixAsynchronousServerSocketChannelImpl
...
@@ -345,7 +345,7 @@ class UnixAsynchronousServerSocketChannelImpl
throws
IOException
;
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
}
}
}
}
src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -748,6 +748,6 @@ class UnixAsynchronousSocketChannelImpl
...
@@ -748,6 +748,6 @@ class UnixAsynchronousSocketChannelImpl
private
static
native
void
checkConnect
(
int
fdVal
)
throws
IOException
;
private
static
native
void
checkConnect
(
int
fdVal
)
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -1106,7 +1106,7 @@ public class SctpChannelImpl extends SctpChannel
...
@@ -1106,7 +1106,7 @@ public class SctpChannelImpl extends SctpChannel
boolean
ready
)
throws
IOException
;
boolean
ready
)
throws
IOException
;
static
{
static
{
Util
.
load
();
/* loads nio & net native libraries */
IO
Util
.
load
();
/* loads nio & net native libraries */
java
.
security
.
AccessController
.
doPrivileged
(
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
public
Void
run
()
{
public
Void
run
()
{
...
...
src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -995,7 +995,7 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
...
@@ -995,7 +995,7 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
}
}
static
{
static
{
Util
.
load
();
/* loads nio & net native libraries */
IO
Util
.
load
();
/* loads nio & net native libraries */
java
.
security
.
AccessController
.
doPrivileged
(
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
public
Void
run
()
{
public
Void
run
()
{
...
...
src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -426,7 +426,7 @@ public class SctpServerChannelImpl extends SctpServerChannel
...
@@ -426,7 +426,7 @@ public class SctpServerChannelImpl extends SctpServerChannel
FileDescriptor
newfd
,
InetSocketAddress
[]
isaa
)
throws
IOException
;
FileDescriptor
newfd
,
InetSocketAddress
[]
isaa
)
throws
IOException
;
static
{
static
{
Util
.
load
();
// loads nio & net native libraries
IO
Util
.
load
();
// loads nio & net native libraries
java
.
security
.
AccessController
.
doPrivileged
(
java
.
security
.
AccessController
.
doPrivileged
(
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
new
java
.
security
.
PrivilegedAction
<
Void
>()
{
public
Void
run
()
{
public
Void
run
()
{
...
...
src/windows/classes/sun/nio/ch/DatagramDispatcher.java
浏览文件 @
11b46ddc
...
@@ -36,7 +36,7 @@ import java.net.*;
...
@@ -36,7 +36,7 @@ import java.net.*;
class
DatagramDispatcher
extends
NativeDispatcher
class
DatagramDispatcher
extends
NativeDispatcher
{
{
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
...
...
src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
浏览文件 @
11b46ddc
...
@@ -32,7 +32,7 @@ import sun.misc.JavaIOFileDescriptorAccess;
...
@@ -32,7 +32,7 @@ import sun.misc.JavaIOFileDescriptorAccess;
class
FileDispatcherImpl
extends
FileDispatcher
class
FileDispatcherImpl
extends
FileDispatcher
{
{
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
/**
/**
...
...
src/windows/classes/sun/nio/ch/FileKey.java
浏览文件 @
11b46ddc
...
@@ -73,6 +73,7 @@ public class FileKey {
...
@@ -73,6 +73,7 @@ public class FileKey {
private
static
native
void
initIDs
();
private
static
native
void
initIDs
();
static
{
static
{
IOUtil
.
load
();
initIDs
();
initIDs
();
}
}
}
}
src/windows/classes/sun/nio/ch/Iocp.java
浏览文件 @
11b46ddc
...
@@ -443,7 +443,7 @@ class Iocp extends AsynchronousChannelGroupImpl {
...
@@ -443,7 +443,7 @@ class Iocp extends AsynchronousChannelGroupImpl {
private
static
native
String
getErrorMessage
(
int
error
);
private
static
native
String
getErrorMessage
(
int
error
);
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
// thread agnostic I/O on Vista/2008 or newer
// thread agnostic I/O on Vista/2008 or newer
...
...
src/windows/classes/sun/nio/ch/PipeImpl.java
浏览文件 @
11b46ddc
...
@@ -56,7 +56,6 @@ class PipeImpl
...
@@ -56,7 +56,6 @@ class PipeImpl
private
static
final
Random
rnd
;
private
static
final
Random
rnd
;
static
{
static
{
Util
.
load
();
byte
[]
someBytes
=
new
byte
[
8
];
byte
[]
someBytes
=
new
byte
[
8
];
boolean
resultOK
=
IOUtil
.
randomBytes
(
someBytes
);
boolean
resultOK
=
IOUtil
.
randomBytes
(
someBytes
);
if
(
resultOK
)
{
if
(
resultOK
)
{
...
...
src/windows/classes/sun/nio/ch/SocketDispatcher.java
浏览文件 @
11b46ddc
...
@@ -36,7 +36,7 @@ class SocketDispatcher extends NativeDispatcher
...
@@ -36,7 +36,7 @@ class SocketDispatcher extends NativeDispatcher
{
{
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
int
read
(
FileDescriptor
fd
,
long
address
,
int
len
)
throws
IOException
{
...
...
src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -750,6 +750,6 @@ public class WindowsAsynchronousFileChannelImpl
...
@@ -750,6 +750,6 @@ public class WindowsAsynchronousFileChannelImpl
private
static
native
void
close0
(
long
handle
);
private
static
native
void
close0
(
long
handle
);
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -363,7 +363,7 @@ class WindowsAsynchronousServerSocketChannelImpl
...
@@ -363,7 +363,7 @@ class WindowsAsynchronousServerSocketChannelImpl
private
static
native
void
closesocket0
(
long
socket
)
throws
IOException
;
private
static
native
void
closesocket0
(
long
socket
)
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
}
}
}
}
src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
浏览文件 @
11b46ddc
...
@@ -919,7 +919,7 @@ class WindowsAsynchronousSocketChannelImpl
...
@@ -919,7 +919,7 @@ class WindowsAsynchronousSocketChannelImpl
private
static
native
void
closesocket0
(
long
socket
)
throws
IOException
;
private
static
native
void
closesocket0
(
long
socket
)
throws
IOException
;
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
initIDs
();
initIDs
();
}
}
}
}
src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
浏览文件 @
11b46ddc
...
@@ -611,6 +611,6 @@ final class WindowsSelectorImpl extends SelectorImpl {
...
@@ -611,6 +611,6 @@ final class WindowsSelectorImpl extends SelectorImpl {
}
}
static
{
static
{
Util
.
load
();
IO
Util
.
load
();
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录