Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
cf0152b5
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看板
体验新版 GitCode,发现更多精彩内容 >>
You need to sign in or sign up before continuing.
提交
cf0152b5
编写于
9月 22, 2008
作者:
M
michaelm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6739920: java 6u4~ use larger C heap if there are many threads
Reviewed-by: chegar
上级
ee972fce
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
6 addition
and
26 deletion
+6
-26
src/share/classes/java/net/AbstractPlainSocketImpl.java
src/share/classes/java/net/AbstractPlainSocketImpl.java
+6
-0
src/solaris/native/java/net/PlainSocketImpl.c
src/solaris/native/java/net/PlainSocketImpl.c
+0
-26
未找到文件。
src/share/classes/java/net/AbstractPlainSocketImpl.java
浏览文件 @
cf0152b5
...
...
@@ -308,6 +308,12 @@ abstract class AbstractPlainSocketImpl extends SocketImpl
FileDescriptor
fd
=
acquireFD
();
try
{
socketConnect
(
address
,
port
,
timeout
);
/* socket may have been closed during poll/select */
synchronized
(
fdLock
)
{
if
(
closePending
)
{
throw
new
SocketException
(
"Socket closed"
);
}
}
// If we have a ref. to the Socket, then sets the flags
// created, bound & connected to true.
// This is normally done in Socket.connect() but some
...
...
src/solaris/native/java/net/PlainSocketImpl.c
浏览文件 @
cf0152b5
...
...
@@ -491,27 +491,6 @@ Java_java_net_PlainSocketImpl_socketConnect(JNIEnv *env, jobject this,
return
;
}
/*
* The socket may have been closed (dup'ed) while we were
* poll/select. In that case SO_ERROR will return 0 making
* it appear that the connection has been established.
* To avoid any race conditions we therefore grab the
* fd lock, check if the socket has been closed, and
* set the various fields whilst holding the lock
*/
fdLock
=
(
*
env
)
->
GetObjectField
(
env
,
this
,
psi_fdLockID
);
(
*
env
)
->
MonitorEnter
(
env
,
fdLock
);
if
((
*
env
)
->
GetBooleanField
(
env
,
this
,
psi_closePendingID
))
{
/* release fdLock */
(
*
env
)
->
MonitorExit
(
env
,
fdLock
);
JNU_ThrowByName
(
env
,
JNU_JAVANETPKG
"SocketException"
,
"Socket closed"
);
return
;
}
(
*
env
)
->
SetIntField
(
env
,
fdObj
,
IO_fd_fdID
,
fd
);
/* set the remote peer address and port */
...
...
@@ -536,11 +515,6 @@ Java_java_net_PlainSocketImpl_socketConnect(JNIEnv *env, jobject this,
(
*
env
)
->
SetIntField
(
env
,
this
,
psi_localportID
,
localport
);
}
}
/*
* Finally release fdLock
*/
(
*
env
)
->
MonitorExit
(
env
,
fdLock
);
}
/*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录