Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
f067cad7
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f067cad7
编写于
7月 04, 2015
作者:
K
kevinw
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
9161eb5e
163d74ac
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
39 deletion
+39
-39
.hgtags
.hgtags
+1
-0
THIRD_PARTY_README
THIRD_PARTY_README
+4
-35
make/hotspot_version
make/hotspot_version
+2
-2
src/os/bsd/vm/jsig.c
src/os/bsd/vm/jsig.c
+32
-2
未找到文件。
.hgtags
浏览文件 @
f067cad7
...
@@ -654,3 +654,4 @@ e01a710549a962cee94728271248a7d89fb56c49 hs25.60-b20
...
@@ -654,3 +654,4 @@ e01a710549a962cee94728271248a7d89fb56c49 hs25.60-b20
4b6687a4f2fe84211b8b3b5afb34b5186afbddf6 hs25.60-b21
4b6687a4f2fe84211b8b3b5afb34b5186afbddf6 hs25.60-b21
e0d75c284bd1c09fd7d9ef09627d8a99b88d468d jdk8u60-b21
e0d75c284bd1c09fd7d9ef09627d8a99b88d468d jdk8u60-b21
ff8fdeb2fb6d6f3348597339c53412f8f6202c3f hs25.60-b22
ff8fdeb2fb6d6f3348597339c53412f8f6202c3f hs25.60-b22
878cb0df27c22c6b1e9f4add1eb3da3edc8ab51d jdk8u60-b22
THIRD_PARTY_README
浏览文件 @
f067cad7
...
@@ -1140,37 +1140,6 @@ included with JRE 8, JDK 8, and OpenJDK 8.
...
@@ -1140,37 +1140,6 @@ included with JRE 8, JDK 8, and OpenJDK 8.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
%% This notice is provided with respect to JSON, which may be included
with JRE 8 & JDK 8.
--- begin of LICENSE ---
Copyright (c) 2002 JSON.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The Software shall be used for Good, not Evil.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
--- end of LICENSE ---
-------------------------------------------------------------------------------
%% This notice is provided with respect to Kerberos functionality, which
%% This notice is provided with respect to Kerberos functionality, which
which may be included with JRE 8, JDK 8, and OpenJDK 8.
which may be included with JRE 8, JDK 8, and OpenJDK 8.
...
@@ -1250,7 +1219,7 @@ included with JDK 8 and OpenJDK 8 source distributions.
...
@@ -1250,7 +1219,7 @@ included with JDK 8 and OpenJDK 8 source distributions.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%% This notice is provided with respect to libpng 1.6.16, which may be
%% This notice is provided with respect to libpng 1.6.16, which may be
included with JRE 8, JDK 8, and OpenJDK 8.
included with JRE 8, JDK 8, and OpenJDK 8.
--- begin of LICENSE ---
--- begin of LICENSE ---
...
@@ -1370,7 +1339,7 @@ December 22, 2014
...
@@ -1370,7 +1339,7 @@ December 22, 2014
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%% This notice is provided with respect to libungif 4.1.3, which may be
%% This notice is provided with respect to
GIFLIB 5.1.1 &
libungif 4.1.3, which may be
included with JRE 8, JDK 8, and OpenJDK 8.
included with JRE 8, JDK 8, and OpenJDK 8.
--- begin of LICENSE ---
--- begin of LICENSE ---
...
@@ -1399,13 +1368,13 @@ THE SOFTWARE.
...
@@ -1399,13 +1368,13 @@ THE SOFTWARE.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
%% This notice is provided with respect to Little CMS 2.
5
, which may be
%% This notice is provided with respect to Little CMS 2.
7
, which may be
included with JRE 8, JDK 8, and OpenJDK 8.
included with JRE 8, JDK 8, and OpenJDK 8.
--- begin of LICENSE ---
--- begin of LICENSE ---
Little CMS
Little CMS
Copyright (c) 1998-201
1
Marti Maria Saguer
Copyright (c) 1998-201
5
Marti Maria Saguer
Permission is hereby granted, free of charge, to any person obtaining a copy
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
of this software and associated documentation files (the "Software"), to deal
...
...
make/hotspot_version
浏览文件 @
f067cad7
...
@@ -34,8 +34,8 @@
...
@@ -34,8 +34,8 @@
HOTSPOT_VM_COPYRIGHT=Copyright 2015
HOTSPOT_VM_COPYRIGHT=Copyright 2015
HS_MAJOR_VER=25
HS_MAJOR_VER=25
HS_MINOR_VER=6
0
HS_MINOR_VER=6
6
HS_BUILD_NUMBER=
22
HS_BUILD_NUMBER=
01
JDK_MAJOR_VER=1
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
JDK_MINOR_VER=8
...
...
src/os/bsd/vm/jsig.c
浏览文件 @
f067cad7
/*
/*
* Copyright (c) 2001, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 201
5
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
*
* This code is free software; you can redistribute it and/or modify it
* This code is free software; you can redistribute it and/or modify it
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdbool.h>
#include <string.h>
#define MAXSIGNUM 32
#define MAXSIGNUM 32
#define MASK(sig) ((unsigned int)1 << sig)
#define MASK(sig) ((unsigned int)1 << sig)
...
@@ -43,6 +44,9 @@
...
@@ -43,6 +44,9 @@
static
struct
sigaction
sact
[
MAXSIGNUM
];
/* saved signal handlers */
static
struct
sigaction
sact
[
MAXSIGNUM
];
/* saved signal handlers */
static
unsigned
int
jvmsigs
=
0
;
/* signals used by jvm */
static
unsigned
int
jvmsigs
=
0
;
/* signals used by jvm */
static
pthread_key_t
reentry_flag_key
;
static
pthread_once_t
reentry_key_init_once
=
PTHREAD_ONCE_INIT
;
/* used to synchronize the installation of signal handlers */
/* used to synchronize the installation of signal handlers */
static
pthread_mutex_t
mutex
=
PTHREAD_MUTEX_INITIALIZER
;
static
pthread_mutex_t
mutex
=
PTHREAD_MUTEX_INITIALIZER
;
static
pthread_cond_t
cond
=
PTHREAD_COND_INITIALIZER
;
static
pthread_cond_t
cond
=
PTHREAD_COND_INITIALIZER
;
...
@@ -59,6 +63,15 @@ static sigaction_t os_sigaction = 0; /* os's version of sigaction() */
...
@@ -59,6 +63,15 @@ static sigaction_t os_sigaction = 0; /* os's version of sigaction() */
static
bool
jvm_signal_installing
=
false
;
static
bool
jvm_signal_installing
=
false
;
static
bool
jvm_signal_installed
=
false
;
static
bool
jvm_signal_installed
=
false
;
#define check_status(cmd) \
do { \
int status = (cmd); \
if (status != 0) { \
printf("error %s (%d) in " #cmd "\n", strerror(status), status); \
exit(1); \
} \
} while (0)
static
void
signal_lock
()
{
static
void
signal_lock
()
{
pthread_mutex_lock
(
&
mutex
);
pthread_mutex_lock
(
&
mutex
);
/* When the jvm is installing its set of signal handlers, threads
/* When the jvm is installing its set of signal handlers, threads
...
@@ -74,8 +87,15 @@ static void signal_unlock() {
...
@@ -74,8 +87,15 @@ static void signal_unlock() {
pthread_mutex_unlock
(
&
mutex
);
pthread_mutex_unlock
(
&
mutex
);
}
}
static
void
reentry_tls_init
()
{
// value for reentry_flag_key will default to NULL (false)
check_status
(
pthread_key_create
(
&
reentry_flag_key
,
NULL
));
}
static
sa_handler_t
call_os_signal
(
int
sig
,
sa_handler_t
disp
,
static
sa_handler_t
call_os_signal
(
int
sig
,
sa_handler_t
disp
,
bool
is_sigset
)
{
bool
is_sigset
)
{
sa_handler_t
res
;
if
(
os_signal
==
NULL
)
{
if
(
os_signal
==
NULL
)
{
if
(
!
is_sigset
)
{
if
(
!
is_sigset
)
{
os_signal
=
(
signal_t
)
dlsym
(
RTLD_NEXT
,
"signal"
);
os_signal
=
(
signal_t
)
dlsym
(
RTLD_NEXT
,
"signal"
);
...
@@ -87,7 +107,12 @@ static sa_handler_t call_os_signal(int sig, sa_handler_t disp,
...
@@ -87,7 +107,12 @@ static sa_handler_t call_os_signal(int sig, sa_handler_t disp,
exit
(
0
);
exit
(
0
);
}
}
}
}
return
(
*
os_signal
)(
sig
,
disp
);
check_status
(
pthread_once
(
&
reentry_key_init_once
,
reentry_tls_init
));
// set reentry_flag_key to non-NULL to show reentry
check_status
(
pthread_setspecific
(
reentry_flag_key
,
&
res
));
res
=
(
*
os_signal
)(
sig
,
disp
);
check_status
(
pthread_setspecific
(
reentry_flag_key
,
NULL
));
return
res
;
}
}
static
void
save_signal_handler
(
int
sig
,
sa_handler_t
disp
)
{
static
void
save_signal_handler
(
int
sig
,
sa_handler_t
disp
)
{
...
@@ -161,6 +186,11 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) {
...
@@ -161,6 +186,11 @@ int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) {
bool
sigused
;
bool
sigused
;
struct
sigaction
oldAct
;
struct
sigaction
oldAct
;
check_status
(
pthread_once
(
&
reentry_key_init_once
,
reentry_tls_init
));
if
(
pthread_getspecific
(
reentry_flag_key
)
!=
NULL
)
{
return
call_os_sigaction
(
sig
,
act
,
oact
);
}
signal_lock
();
signal_lock
();
sigused
=
(
MASK
(
sig
)
&
jvmsigs
)
!=
0
;
sigused
=
(
MASK
(
sig
)
&
jvmsigs
)
!=
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录