Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
0667d4d2
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看板
提交
0667d4d2
编写于
9月 30, 2018
作者:
A
aefimov
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
5c0002ce
f7d2637a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
8 deletion
+6
-8
src/share/classes/sun/nio/ch/FileChannelImpl.java
src/share/classes/sun/nio/ch/FileChannelImpl.java
+2
-8
src/windows/native/sun/bridge/AccessBridgeMessageQueue.cpp
src/windows/native/sun/bridge/AccessBridgeMessageQueue.cpp
+4
-0
未找到文件。
src/share/classes/sun/nio/ch/FileChannelImpl.java
浏览文件 @
0667d4d2
...
...
@@ -551,11 +551,10 @@ public class FileChannelImpl
{
// Untrusted target: Use a newly-erased buffer
int
c
=
Math
.
min
(
icount
,
TRANSFER_SIZE
);
ByteBuffer
bb
=
Util
.
getTemporaryDirectBuffer
(
c
);
ByteBuffer
bb
=
ByteBuffer
.
allocate
(
c
);
long
tw
=
0
;
// Total bytes written
long
pos
=
position
;
try
{
Util
.
erase
(
bb
);
while
(
tw
<
icount
)
{
bb
.
limit
(
Math
.
min
((
int
)(
icount
-
tw
),
TRANSFER_SIZE
));
int
nr
=
read
(
bb
,
pos
);
...
...
@@ -576,8 +575,6 @@ public class FileChannelImpl
if
(
tw
>
0
)
return
tw
;
throw
x
;
}
finally
{
Util
.
releaseTemporaryDirectBuffer
(
bb
);
}
}
...
...
@@ -661,11 +658,10 @@ public class FileChannelImpl
{
// Untrusted target: Use a newly-erased buffer
int
c
=
(
int
)
Math
.
min
(
count
,
TRANSFER_SIZE
);
ByteBuffer
bb
=
Util
.
getTemporaryDirectBuffer
(
c
);
ByteBuffer
bb
=
ByteBuffer
.
allocate
(
c
);
long
tw
=
0
;
// Total bytes written
long
pos
=
position
;
try
{
Util
.
erase
(
bb
);
while
(
tw
<
count
)
{
bb
.
limit
((
int
)
Math
.
min
((
count
-
tw
),
(
long
)
TRANSFER_SIZE
));
// ## Bug: Will block reading src if this channel
...
...
@@ -686,8 +682,6 @@ public class FileChannelImpl
if
(
tw
>
0
)
return
tw
;
throw
x
;
}
finally
{
Util
.
releaseTemporaryDirectBuffer
(
bb
);
}
}
...
...
src/windows/native/sun/bridge/AccessBridgeMessageQueue.cpp
浏览文件 @
0667d4d2
...
...
@@ -32,6 +32,7 @@
#include "AccessBridgePackages.h" // for debugging only
#include <windows.h>
#include <malloc.h>
#include <new>
DEBUG_CODE
(
extern
HWND
theDialogWindow
);
extern
"C"
{
...
...
@@ -46,6 +47,9 @@ AccessBridgeQueueElement::AccessBridgeQueueElement(char *buf, int size) {
next
=
(
AccessBridgeQueueElement
*
)
0
;
previous
=
(
AccessBridgeQueueElement
*
)
0
;
buffer
=
(
char
*
)
malloc
(
bufsize
);
if
(
buffer
==
NULL
)
{
throw
std
::
bad_alloc
();
}
memcpy
(
buffer
,
buf
,
bufsize
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录