Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
5fc3c6db
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看板
提交
5fc3c6db
编写于
8月 26, 2014
作者:
I
igerasim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8055421: (fs) bad error handling in java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
Reviewed-by: martin, alanb
上级
85b14a0c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
9 deletion
+8
-9
src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
+8
-9
未找到文件。
src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
浏览文件 @
5fc3c6db
...
...
@@ -315,7 +315,7 @@ Java_sun_nio_fs_UnixNativeDispatcher_dup(JNIEnv* env, jclass this, jint fd) {
int
res
=
-
1
;
RESTARTABLE
(
dup
((
int
)
fd
),
res
);
if
(
fd
==
-
1
)
{
if
(
res
==
-
1
)
{
throwUnixException
(
env
,
errno
);
}
return
(
jint
)
res
;
...
...
@@ -343,13 +343,14 @@ Java_sun_nio_fs_UnixNativeDispatcher_fopen0(JNIEnv* env, jclass this,
JNIEXPORT
void
JNICALL
Java_sun_nio_fs_UnixNativeDispatcher_fclose
(
JNIEnv
*
env
,
jclass
this
,
jlong
stream
)
{
int
res
;
FILE
*
fp
=
jlong_to_ptr
(
stream
);
do
{
res
=
fclose
(
fp
);
}
while
(
res
==
EOF
&&
errno
==
EINTR
);
if
(
res
==
EOF
)
{
/* NOTE: fclose() wrapper is only used with read-only streams.
* If it ever is used with write streams, it might be better to add
* RESTARTABLE(fflush(fp)) before closing, to make sure the stream
* is completely written even if fclose() failed.
*/
if
(
fclose
(
fp
)
==
EOF
&&
errno
!=
EINTR
)
{
throwUnixException
(
env
,
errno
);
}
}
...
...
@@ -657,11 +658,9 @@ Java_sun_nio_fs_UnixNativeDispatcher_fdopendir(JNIEnv* env, jclass this, int dfd
JNIEXPORT
void
JNICALL
Java_sun_nio_fs_UnixNativeDispatcher_closedir
(
JNIEnv
*
env
,
jclass
this
,
jlong
dir
)
{
int
err
;
DIR
*
dirp
=
jlong_to_ptr
(
dir
);
RESTARTABLE
(
closedir
(
dirp
),
err
);
if
(
errno
==
-
1
)
{
if
(
closedir
(
dirp
)
==
-
1
&&
errno
!=
EINTR
)
{
throwUnixException
(
env
,
errno
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录